Speechcode.com
https://speechcode.com/
Blog posts on Android by Arthur A. Gleckleren-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. GlecklerThu, 11 Dec 2025 12:00:00 +0000