projects
Some of these are just hacks, some are personal projects, and some have graduated to be maintained by others. I’m not going to draw a bright line here, because by the time you read this, things could change. See the blog for more on what I’m currently up to.
fibers
Lightweight threads for Guile, along with a Concurrent ML-like synchronization mechanism.
guile-jpeg
A pure Scheme library to parse, munge, encode, and decode JPEG images.
lightening
A code generator, suitable as the backend of a portable JIT compiler. Inspired by GNU Lightning, but rewritten to be more straightforward.
omafano
A photo gallery web application, written in Scheme, using SQLite as the backend.
snabb
Snabb is not just my project, but I wrote a few fun things there in Lua: a timer wheel, a fibers / Concurrent ML implementation, an RRD implementation, and more if you dig.
walloc
A minimal malloc implementation for WebAssembly.
wassemble
A minimal WebAssembly assembler in JavaScript.
whippet
A new garbage collector implementation, intended to replace Guile’s use of the BDW-GC collector.
whiffle
A simple compile-to-C Scheme implementation, purpose-built to test Whippet.
tekuti
A weblog engine written in Scheme, using Git as its persistent store.
te-ti
A learner’s manual for the Oshindonga language, spoken in northern Namibia.
guile-opengl
An OpenGL binding for Guile.
guile-rsvg
RSVG bindings for Guile.
pflua
High-performance packet filtering with LuaJIT.
guile-present
Making presentations in Guile.
guile-charting
Making graphs and charts in Guile.
guile-cairo
Guile bindings for the Cairo graphics library.
guile-dlhacks
DWARF spelunking in Guile.
guile-clf
Working with Common Log Format (e.g. Apache logs) from Scheme.
griddy
A bare-bones compositing window manager written in Scheme.