41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# TODOs
|
|
|
|
- [x] Paren pair parsing
|
|
- iterative parsing and matching of paren/bracket pairs
|
|
- [ ] tokenizer
|
|
- identify "tokens"
|
|
- everythin is a token with exception of:
|
|
- operators
|
|
- parens/brackets
|
|
- numbers
|
|
- t / nil
|
|
- comments (maybe already handled)
|
|
- [ ] namespaces / scopes
|
|
- namespaces are started with:
|
|
- let / letseq / let...
|
|
|
|
```skill
|
|
; let[T]( locals: list[tuple[symbol, Any] | symbol] | nil, *exprs: Any, last_expr: T) -> T
|
|
```
|
|
|
|
- prog
|
|
|
|
```skill
|
|
; prog( locals: list[symbol] | nil, *exprs: Any) -> Any
|
|
```
|
|
|
|
- procedure
|
|
|
|
```skill
|
|
; function_name(req_param: Any, key_param1: any = value_param2) => Any
|
|
procedure( function_name(req_param @keys (key_param1 value_param2))
|
|
...
|
|
)
|
|
|
|
function_name(<req_arg> ?key_param1 <value_param2>)
|
|
```
|
|
|
|
- [ ] token contextualization
|
|
- looks for declaration / definition of symbol
|
|
|