This commit is contained in:
Felix Brendel
2018-09-11 13:51:54 +09:00
commit e1c93c3c4a
12 changed files with 483 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
* Build-in forms
- +
- -
- *
- /
- >
- <
- =
- if
- and
- or
- not
- first (car)
- rest (cdr)
- pair (cons)
- load (import)
- define
- lambda
- progn
- eval
- quote
- print
- read
- help
* Types
- Symbol
- Number
- String
- Cons-cell (list)
- lambda function lambda
- built-in function
* Arbeitsweise
1) Parse to AST
2) Start with namespace only containing the built-ins
3) every AST node has its own namespace,
inherting the one from its parent (pointer /
references) because when a function sets a
variable within an upper namespace it should
infact change the environment even if the
function exited