/LICPP

Lisp Flavoured C++

Primary LanguageC++GNU Affero General Public License v3.0AGPL-3.0

C++! THIS IS THE LAST OF MY PARENTHESES! TAKE IT FROM MEEEEEEE!

LICPP

AGPLv3 license Open Source Love svg2

Made with Secret Alien Technology

Knights of the Lambda Calculus

A Lisp Flavoured C++

An Visual Studio specified version is in the branch ms, licensed under MIT.

About

A tiny library that implements some basic Lisp (mainly Common Lisp) utilities as a DSL, currently just a toy, beware of dirty hacks and low performance.

This has been tested with Clang 9.0, GCC 7.1, and Visual Studio Community 2017.

Usage

At least C++ 14 is required.

You may expect everything to work similarly to what you know in Common Lisp (although there will be limitation because of the differences between C++ and Lisp).

For the details of symbols defined in LICPP, check out SYMBOLS.md.

If you want some extra features, please use the latest version of GCC with the flags mentioned below:

  • Type Constraints, enable with flag -fconcepts (GCC only)

Note

tlist stands for the type List<T> which does not have an equivalance in Common Lisp, you may think this is (type t) => [t] in Haskell.

Contributing

All functions should be (preferably) implemented in the same way as its corresponding definition in CLHS.

License

AGPLv3+