Hacker News new | past | comments | ask | show | jobs | submit login
PilBox – Building Android Apps in PicoLisp (2019) (picolisp.com)
49 points by bwidlar 31 days ago | hide | past | favorite | 4 comments

Here's the interesting part to me:

> The PilBox kernel provides an interface to the Android Java runtime environment. To the PicoLisp code it looks like a remote database, where Java objects are mapped to PicoLisp DB objects, and Java functions and methods are executed via remote procedure calls.

It seems like that would cause a decent performance penalty. Is this for serious development, or just a way to play with lisp on Android?

Most of the computation is happening in PicoLisp. The only reason to call the Java API is to interact with copy pastes/take screenshots or interact with other android APIs like that. Aside from several toy apps, Alex Burger is also developing an app for the catalonian fire defense forces in PilBox. He also develops apps for commercial customer where the fact that each app has it's own local graph database that can be synced app with a graph central database. There is a Friday of Functions announced on the mailing list sometimes which is a video call where questions like the can be raised. If you prefer text there is #Picolisp on freenode where he can answer questions like that under the nick regenaxer. You are welcome. There is also a PilBox app which can install some (really poor) REPL, you could measure the cost of calls via the built 'bench function.

Towards the bottom of the article the author claims: "I use all the above to develop production Apps for my customers"

> 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.

So the GUI is a website shown in an app.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact