Guide to MAL C89 (Make A Lisp
)
Table of Contents (old & deprecated)
- Top
- Version 0x00 -- REPL
- Version 0x00 --
text_t
and garbage collection - Version 0x00 -- lists and vectors
- Version 0x00 -- mal objects and errors
- Version 0x00 -- hashmap and reader macros
- Version 0x01 -- version up
- Version 0x01 -- environment and reworked hashmap
- Version 0x01 -- eval and builtins
- Version 0x02 -- version up
- Version 0x03 -- creating and modifying environments; version up
- Version 0x04 -- adding
if
,fn*
anddo
; version up - Version 0x05 -- TCO (Tail Call Optimization); version up
- The first version of
MAL
project using C89 standard. Responsive REPL environment.
- Preparation for second version,
text_t
and garbage collector.
- Adding support for basic string
(un)escaping
, new types (list_t
/list_p
andvector_t
/vector_p
), tokenizer and basic parser to the source code.
- Added basic support for
mal
objects and custom error handling.
- Adding support for basic hashmap, updated tokenizer in the the source code.
- The second version of
MAL
project using C89 standard. Reader, writer, lists, vectors, hashmaps ans reader macros. It is equivalent to version 0.0.4.
- Added Environment, edited hashmap implementation.
Added Eval stage, and some additional buitin functions.
- The third version of
MAL
project using C89 standard. Environment, eval and some builtin functions. It is equivalent to version 0.1.2.
- The fourth version of
MAL
project using C89 standard. Creating environment using special formlet*
and modifying the current environment usingdef!
special form.
- The fifth version of
MAL
project using C89 standard. Added three new special formsif
,fn*
anddo
and added some core functions.
- The sixth version of MAL project using C89 standard. Editing eval functions to support TCO (Tail Call Optimization).