Clasp: Common Lisp using LLVM and C++ for Molecular Metaprogramming
Google TechTalksYouTube ↗
Further reading 1
Caption notes
In this 2015 Google Tech Talk, Christian Schafmeister explains the design of Clasp. He wanted Common Lisp macros for generating code and access to existing C++ libraries. He describes compilation and language interoperability separately. Clasp’s compiler emits LLVM intermediate representation, which LLVM lowers to machine code. The binding library generates wrappers at compile time for C++ functions exposed to Lisp. In the Q&A he identifies debugging code produced by macro expansion as an open problem at the time.
Archived captions (transcription method unspecified) ↗Original passages · 2
implemented a new Common Lisp that uses LLVM as the backend.and it builds the wrapper function at compile time.