Speechcode.com https://speechcode.com/ Blog posts on Android by Arthur A. Gleckler en-US [email protected] (Arthur A. Gleckler) Schmeep: Scheme on Android https://speechcode.com/blog/schmeep https://speechcode.com/blog/schmeep <article class="post schmeep"><img class="hero" src="https://speechcode.com/blog/schmeep/schmeep.svg"> <div class="metadata"> <div class="date">Thu 11 Dec 2025</div> <div class="labels"><a href="https://speechcode.com/blog/label/android">android</a>, <a href="https://speechcode.com/blog/label/artificial-intelligence">artificial-intelligence</a>, <a href="https://speechcode.com/blog/label/scheme">scheme</a></div></div> <div class="contents"> <p>Ever since I worked on the <a href="https://en.wikipedia.org/wiki/Android_(operating_system)">Android</a> project nearly twenty years ago, I've wanted to write mobile apps in Scheme. But the early Android API made it hard to run a good Scheme implementation, and the Android team strongly discouraged the use of languages other than Java. Those limitations are long gone. Still, whenever I got the energy to dive into Android Studio, the <a href="https://en.wikipedia.org/wiki/Android_NDK">NDK</a>, and the latest APIs, build problems and other random complexity would frustrate me, and I would give up and switch to another project.</p> <p><span class="pull-this-quote">But now we have LLMs. They are exactly what I needed to get past the slog and into the interesting parts of the project.</span> I'm so glad I tried again.</p> <p>My new project, Schmeep (<a href="https://github.com/arthurgleckler/schmeep">Github</a>), is an Android app built around <a href="https://synthcode.com/scheme/chibi/">Chibi Scheme</a>, Alex Shinn's <a href="https://standards.scheme.org/">R7RS-Small</a>-compatible Scheme implementation. It uses RAX, a simple framework inspired by <a href="https://htmx.org/">HTMX</a>, to make HTML-based user interfaces in Scheme. No web server is required. Instead, events are delivered to your Scheme code, which returns new HTML fragments to update the UI.</p> <p>Schmeep includes a simple Linux program that opens a <a href="https://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop">REPL</a> on the phone over Bluetooth. The whole project builds quickly using a simple <code>Makefile</code>. This means that you rarely wait more than a few seconds to see the effects of a change.</p> <p>Schmeep has just come to life, but I'm eager to build a real app with it. My plan is to experiment with writing <a href="https://lofi.so/">local-first software</a> in Scheme. I'll wrote more here when I do.</p></div></article> Arthur A. Gleckler Thu, 11 Dec 2025 12:00:00 +0000