C-lisp and Flexible Macro Programming with S-expressions
Vedanth Padmaraman, Sasank Chilamkurthy

TL;DR
This paper introduces a macro system for the Llama.lisp compiler framework, which uses S-expressions for device-agnostic IRs, facilitating easier generation and extension of compiler features.
Contribution
The paper presents a novel macro system for Llama.lisp that enables flexible FFI bindings and simplifies IR manipulation using S-expressions.
Findings
Macro system enhances IR flexibility
FFI bindings implemented successfully
Simplifies IR generation and extension
Abstract
Llamalisp is a compiler framework intended to target offload processor backends such as GPUs, using intermediate representation languages (IRs) that are device-agnostic. The Llamalisp 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 Llamalisp. The highest IR layer currently implemented in Llamalisp is C-Lisp. In this paper, we describe the macro system developed for the Llamalisp compiler framework. We show how we implemented FFI bindings as an example of this system.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsComputability, Logic, AI Algorithms · Logic, programming, and type systems
