Skip to content

Ragnarok540/mal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

mal

@startmindmap
# Step 0: The REPL
## Main loop
### REP function
#### READ function
#### EVAL function
#### PRINT function
@endmindmap
@startmindmap
# Step 1: Read and Print
## Reader
### Attributes
#### Tokens
#### Position
### Methods
#### NEXT
#### PEEK
### Functions
#### READ_STR
#### TOKENIZE
#### READ_FORM
#### READ_LIST
#### READ_ATOM
## Printer
### PR_STR function
## Data Types
### Integer
### Symbol
### Boolean
### String
### Nil
### Vector
### Hashmap
### Keyword
## Parentheses matching
## Comment support
@endmindmap
@startmindmap
# Step 2: Eval
## REPL environment
### SUM function
### DIFFERENCE function
### MULTIPLICATION function
### DIVISION function
## EVAL debug function
## EVAL over Vectors
## EVAL over Hashmaps
@endmindmap
@startmindmap
# Step 3: Environments
## Attributes
### outer
### data
## Methods
### set
### get
## Special Symbols
### def!
### let*
@endmindmap
@startmindmap
# Step 4: If Fn Do
## Env
### binds
### exprs
## Special Symbols
### if
### fn*
### do
## Core
### prn
### list, list?, empty? and count
### =
### <, <=, > and >=
@endmindmap
@startmindmap
# Step 5: Tail call optimization
## Special Symbols
### let*
### if
### do
### fn*
## Data Types
### Function
@endmindmap

About

Make a Lisp

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages