Lisp in C#

Sharpl is a custom Lisp interpreter written in C# with a tiny code base and no external dependencies. Unique features include dedicated syntax for pairs, arrays, maps, and method compositions. The language supports varargs, splatting, unified iterator protocol, and deep-value comparison using =. Other highlights include explicit tail calls, lexically and dynamically scoped bindings, and ordering in maps. Errors come with line numbers, even in the REPL. Sharpl also allows for closures, varargs methods, method composition, and quotations, among other functionalities. It offers fixpoint decimal type, composite types like pairs, arrays, and maps, and comes with a testing suite and benchmarking capabilities.

https://github.com/codr7/sharpl

To top