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.
@article{arxiv.2410.16690,
title = {C-lisp and Flexible Macro Programming with S-expressions},
author = {Vedanth Padmaraman and Sasank Chilamkurthy},
journal= {arXiv preprint arXiv:2410.16690},
year = {2024}
}
Comments
Submitted to Innovations in Compiler Technology, Bengaluru, 2024. See https://compilertech.org. Full project documentation at https://outline.von-neumann.ai/s/d0cd5eb9-2e15-4fa4-bd17-c3911f305008