git init
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user