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.