Lispy is a functional language inspired by Lisp. The interpreter is written in C and is based on "Build Your Own Lisp" by Daniel Holden and uses his mpc library.
So far, I've completed the following bonus tasks, resp. applied the following modifications:
- Adding power, module, min and max operators
- Support for decimal numbers
- Splitted the code into smaller modules
- Heavily modified the Makefile
- Added an exit function
- Including an (optional) standard library at startup
- Improving the macros to support printing the C function name
- Using a sane argument parser
- Using a logging memory allocator
- Using a logger
- Fixing memory bugs in my implementation
- Fixed my implementation of join, map, split, take, unpack
- Adding tests (to some extent)
- Added support for strings in join, head, tail
- Adding builtin logical and list operators
- Adding builtin fun operators
- Writing a function that prints all out named values in an environment
- Documenting the code (to some extent)
- Added length field to strings
- Implementing all stdlib methods in C