diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..eb54ed0 --- /dev/null +++ b/todo.md @@ -0,0 +1,40 @@ +# 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( ?key_param1 ) + ``` + +- [ ] token contextualization + - looks for declaration / definition of symbol +