Resp

Resp is an experimental toy language/compiler for a statically typed Scheme-like language which targets LLVM.

Resp is a toy hobby compiler and is a very, very long way off from being useful for anybody. However, the goals are to be: conceptually simple and elegant (like Scheme), strongly typed and safe (like ML/Haskell), fast (like C), and designed to be pleasant to work with (like Python). It compiles numeric code using native types, and (thanks to LLVM), has competitive performance with C and other natively compiled languages for numerical code.

The (C++) code may be useful as a starting point for others looking to write LLVM compilers. It is currently around 3500 LOC, slightly rough around the edges but pleasant to work with (e.g. the compiler reports errors with line and column in editor-friendly GCC style, there are command line flags to dump the IR at any stage of compilation, and so on).

Download