skill-ls/todo.md

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