Common Lisp's Tripartite Type System: Types, Classes, and the Machine's Truth

2025-09-02

This article delves into the unique aspects of Common Lisp's type system. It's not simply static or dynamic, but a sophisticated interplay of types, classes, and underlying machine implementation. Types govern function call compatibility, struct field compatibility, and compiler optimizations; classes dictate method dispatch and OO inheritance; while the machine hides implementation details like type tags. Through examples, the article shows how Common Lisp balances the fluidity of dynamic languages with runtime and compile-time type checking and optimization, ultimately boosting debuggability and performance.

Read more
Development

Cross-Compiling Raylib Lisp Bindings and Games for Windows from Linux

2025-06-30

This article details the process of cross-compiling C code and an SBCL Lisp program for Windows from Linux, using Wine to run a Windows SBCL within a Linux-based Emacs, and loading .dll files into the Lisp image to produce a .exe executable. The author outlines cross-compiling C code using mingw-w64-toolchain, configuring the Raylib library for cross-compilation to generate .dll files, installing and using SBCL within Wine, leveraging vend for dependency management, and finally using sb-ext:save-lisp-and-die to create the Windows executable.

Read more
Development