Depending in Common Lisp
Explores solving dependency edge cases in Common Lisp's Metaobject Protocol, detailing a custom metaclass for monitoring slot access.
Steve Losh is a software engineer and Lisp enthusiast who writes about Common Lisp, functional programming, and game development. His blog covers practical programming techniques, symbolic computation, macros, and building small projects and emulators.
62 articles from this blog
Explores solving dependency edge cases in Common Lisp's Metaobject Protocol, detailing a custom metaclass for monitoring slot access.
A guide to writing small, standalone command-line programs in Common Lisp, covering project structure, libraries, and interactive development.
A personal guide and curated learning path for programmers wanting to learn Common Lisp, covering history, setup, practical projects, and libraries.
A guide to implementing the when-let and if-let macros in Common Lisp, inspired by Clojure, with code examples and explanations.
A technical article exploring a Common Lisp macro called 'gathering' for collecting results from procedural code.
A technical tutorial on adding menu functionality to a CHIP-8 emulator written in Common Lisp, using Qtools for the GUI.
A technical guide on adding debugging infrastructure like breakpoints and stepping to a CHIP-8 emulator written in Common Lisp.
A technical guide on adding a disassembler to a CHIP-8 emulator written in Common Lisp, focusing on instruction decoding.
A technical guide on implementing sound emulation for a CHIP-8 virtual machine using Common Lisp, covering timers, wave generation, and threading.
A technical guide on implementing user input handling for a CHIP-8 emulator written in Common Lisp, covering keyboard mapping and emulation.
A technical guide on implementing the graphics system for a CHIP-8 emulator using Common Lisp and the Qtools library.
A technical guide to implementing a CHIP-8 emulator's CPU in Common Lisp, covering core data structures and instruction handling.
A guide to creating a custom timing clause for the Iterate library in Common Lisp, useful for benchmarking code execution.
A tutorial on extending Common Lisp's Iterate library by creating a custom 'averaging' clause for calculating running averages in loops.
A deep dive into Lisp's syntax flexibility, exploring custom macros for assignment and mutation operators like incf, decf, mulf, and divf.
A developer shares their experience porting a game from Clojure to Common Lisp during a Lisp Game Jam, covering technical details and lessons learned.
An introduction to symbolic computation in Lisp, explaining symbols and quoting for programmers new to Lisp languages.
Explains the Diamond Square algorithm for procedural terrain generation, comparing it to Midpoint Displacement and detailing its implementation.
Explains implementing the Midpoint Displacement algorithm recursively using the ndarray library in JavaScript for efficient terrain generation.
A technical tutorial on implementing the Midpoint Displacement algorithm for procedural terrain generation in a game engine context.