Recent Blog Posts

Catbird: An experimental game engine for Scheme programmers

October 25, 2022

I've been participating in the Lisp Game Jam for several years now, and the next one is starting on 10/28, and with each attempt I've been accumulating code that forms something resembling a game engine. I'm now attempting to solidify some of the concepts I've been exploring in order to make a game engine worthy of releasing in case someone else wanted to use it, too. I've named this engine Catbird, continuing the bird theme established by my game programming library, Chickadee, which the engine is built on.

read more →

Chickadee 0.9.0 released

October 25, 2022

I'm happy to announce that Chickadee 0.9.0 has been released!

read more →

Guile-SDL2 0.8.0 released

October 23, 2022

I'm happy to announce that Guile-SDL2 0.8.0 has been released! Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared library. The bindings are written in pure Scheme using Guile's foreign function interface.

read more →

Issues with object-oriented programming in Guile

October 05, 2022

Scheme is often thought of as a functional programming language, but really it is a multi-paradigm language, including object-oriented programming. My Scheme of choice for the past decade has been Guile. It comes with support for OOP via GOOPS: The Guile Object Oriented Programming System. It's a silly name. GOOPS is modeled after the almighty Common Lisp Object System or CLOS for short. Overall, it does a good job of adapting the concepts of CLOS in a Schemey way. However, most Scheme programmers never use OOP, and I think that has left GOOPS a little rough around the edges. By mimicking CLOS a bit more, I think GOOPS could make someone used to the excellence of CLOS feel a little more at home in Schemeland. Also I want these features to make my code more elegant and less prone to bugs due to hacky workarounds.

read more →

Guix for development

September 23, 2022

This wonderful article by Marius Bakke (thanks for using Haunt btw!) about guix shell hit the orange website front page recently. I left a comment to the effect of “hell yeah I use it for all my projects!” and someone asked me for an example of what I do. I sent them some links but I thought hey, this could be a blog post and I haven't written one of those in years!

read more →

Haunt 0.2.6 released

January 26, 2022

Haunt version 0.2.6 has been released. This release restores compatibility with Guile < 3.0 that was accidentally broken in 0.2.5. Additionally, Haunt now uses the inotify API to watch for file changes on Linux when running haunt serve --watch, replacing a slower and more naive approach.

read more →

Chickadee 0.8.0 released

October 07, 2021

I'm happy to announce that Chickadee 0.8.0 has been released!

read more →

Guile-SDL2 0.7.0 released

October 07, 2021

I'm happy to announce that Guile-SDL2 0.7.0 has been released! Guile-SDL2 provides Guile Scheme bindings for the SDL2 C shared library. The bindings are written in pure Scheme using Guile's foreign function interface.

read more →

Chickadee 0.6.0 released

November 19, 2020

I'm happy to announce that Chickadee 0.6.0 has been released!

read more →

Chickadee 0.5.0 released

April 08, 2020

I'm happy to announce that Chickadee 0.5.0 has been released!

read more →
← NewerOlder →