C-lisp and Flexible Macro Programming with S-expressions
Abstract
Llama.lisp is a compiler framework intended to target offload processor backends such as GPUs, using intermediate representation languages (IRs) that are device-agnostic. The Llama.lisp IRs are formulated as S-expressions. This makes them easy to generate using higher level programming languages, which is one of the primary goals for Llama.lisp. The highest IR layer currently implemented in Llama.lisp is C-Lisp. In this paper, we describe the macro system developed for the Llama.lisp compiler framework. We show how we implemented FFI bindings as an example of this system.
Turn this paper into a full lesson
ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.