Cimdea IPUMS Microdata high-performance toolkit library in Rust, with a CLI tabulator example application.
SFWR A book recommendation static website generator. My first Go project, as a way to learn the language and standard library. I intend sfwr
to become a useful book collection site generator anyone can use. Still a work in progress, some stuff is broken. Example output If it works out I’ll replace my SF Worth Reading site with its output.
SF Worth Reading A site full of recommended fiction. This started out as a simple mark-down list and kind of grew out of control and became its own site. It’s created automatically by a custom Ruby static site generator script. There are some reviews I wrote, mostly for the bad not-recommended books. Some day I’ll blurb all the books.
rci A compiler for a statically typed language that grew out of my follow-along with “Crafting Interpreters”. A ridiculously ambitious project where I tried to add a lot of language features at once. I got surprisingly far. Adding modules just about killed my enthusiasm. RCI compiles to C89 and has a standard library based on the C stdlib. Extensive notes are in the README – these are mostly for myself as a reminder of where I left things. Primarily a learning project.
lift-lang A learning project. lift-lang
is an expression only, no mutable state language (well, you have type definitions and expression definitions and that’s it.) On the opposite end of the spectrum from RCI. Not at all done; working on the type checker in the interpreter.
The main goals of lift-lang
were
- try using a parser generator library instead of hand-coded parser (lalrpop in this case) and
- Compile to the Cranelift VM (hence the name ‘lift-lang’.) Haven’t even started on the “lift” part of the project.
schemer Another learning project, and my first real Rust project. I noticed Rust enums might make for a good way to represent a Lisp-like language’s list and atom data. Everything is built from scratch with custom linked lists, inspired by Learning Rust with Entirely too Many Linked Lists (a good learning resource, though you probbly don’t want to use your own linked lists in Rust.) It’s slow, really slow though it does work. There’s a Mandelbrot generator program as proof.
Most of my other projects are trifles, or personal scripting, or are for my day job. I’ve got some old PC game animation library code around somewhere that’s too ancient to be of much interest.