Guide to MAL C89 (Make A Lisp
)
[edit]
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*
and do
; version up
-
Version 0x05 -- TCO (Tail Call Optimization); version up
Version 0x00 -- REPL
- The first version of
MAL
project using C89 standard. Responsive REPL environment.
Version 0x00 [source]
Version 0x00 -- text_t
and garbage collection
- Preparation for second version,
text_t
and garbage collector.
Version 0x00 -- 0x01 [source]
Version 0x00 -- lists and vectors
- Adding support for basic string
(un)escaping
, new types (list_t
/list_p
and vector_t
/vector_p
), tokenizer and basic parser to the source code.
Version 0x00 -- 0x02 [source]
Version 0x00 -- mal objects and errors
- Added basic support for
mal
objects and custom error handling.
Version 0x00 -- 0x03 [source]
Version 0x00 -- hashmap and reader macros
- Adding support for basic hashmap, updated tokenizer in the the source code.
Version 0x00 -- 0x04 [source]
Version 0x01 -- version up
- 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.
Version 0x01 [source]
Version 0x01 -- environment and reworked hashmap
- Added Environment, edited hashmap implementation.
Version 0x01 -- 0x01 [source]
Version 0x01 -- eval and builtins
Added Eval stage, and some additional buitin functions.
Version 0x01 -- 0x02 [source]
Version 0x02 -- version up
- The third version of
MAL
project using C89 standard. Environment, eval and some builtin functions. It is equivalent to version 0.1.2.
Version 0x02 [source]
Version 0x03 -- creating and modifying environments; version up
- The fourth version of
MAL
project using C89 standard. Creating environment using special form let*
and modifying the current environment using def!
special form.
Version 0x03 [source]
Version 0x04 -- adding if
, fn*
and do
; version up
- The fifth version of
MAL
project using C89 standard. Added three new special forms if
, fn*
and do
and added some core functions.
Version 0x04 [source]
Version 0x05 -- TCO (Tail Call Optimization); version up
- The sixth version of MAL project using C89 standard. Editing eval functions to support TCO (Tail Call Optimization).
Version 0x05 [source]