13 ms·
So just a Lisp interpreter for Android? >The PilBox App itself (called the "PilBox kernel") is written in Java, the normal Android way. It displays a WebView G
by edf13 4y ago
So just a Lisp interpreter for Android?
>The PilBox App itself (called the "PilBox kernel") is written in Java, the normal Android way. It displays a WebView GUI, and starts a PicoLisp binary compiled for Arm64 CPUs. This binary may now run any PicoLisp program, by setting up a local web server where the WebView component connects to, possibly opening a database, and doing whatever is desired.
- paskozdilar 4y agoSo we have a Java Virtual Machine that runs a PicoLisp Virtual Machine which runs PicoLisp programs. The circle of life? Perhaps the next step would be to implement a Java Virtual Machine in PicoLisp.
- outworlder 4y agoGreenspun's tenth rule?
- kitd 4y agoWell, the JVM just starts the PicoLisp binary and runs a WebView pointing to it, so there's no actually implementing going on.
- paskozdilar 4y agoAh, I see. I didn't think it was possible to run native binaries on Android. Cool to see it happen :)
- ianlevesque 4y agoIt's a little convoluted since the app does still fork from the zygote with ART in there, but they added an entire layer of APIs so you can jump right in from C++. Here's a sample https://github.com/android/ndk-samples/blob/master/native-activity/app/src/main/cpp/main.cpp https://github.com/android/ndk-samples/blob/master/native-ac...
- dmitrybrant 4y ago> So just a Lisp interpreter for Android? A Lisp interpreter for a single specific ABI of Android, with which you communicate through a local web server. That's... one way to build an app!
- actionfromafar 4y agoI think it sounds worse when you put it like that. In practice, it will run on most phones. Google is phasing out 32-bit[0] and x86 was never really a thing for Android, more than a curiosity. 0: https://www.zdnet.com/article/google-to-64-bit-android-device-owners-no-more-32-bit-only-apps-from-aug-2021/ https://www.zdnet.com/article/google-to-64-bit-android-devic...
- kllrnohj 4y agox86 is commonly used for emulators which is very useful for compatibility testing. Although if the goal is to not install the Android SDK for some reason then sure, don't really need to care about x86. Unless you want to run on Chromebooks or Windows 11, though. Then you do again.