Table of Contents
Fetching ...

C-lisp and Flexible Macro Programming with S-expressions

Vedanth Padmaraman, Sasank Chilamkurthy

TL;DR

This paper describes the macro system developed for the Llama$.$lisp compiler framework and shows how it implemented FFI bindings as an example of this system.

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.

C-lisp and Flexible Macro Programming with S-expressions

TL;DR

This paper describes the macro system developed for the Llamalisp compiler framework and shows how it implemented FFI bindings as an example of this system.

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.

Paper Structure