# Carson's C Compiler

fuck it, we ball

TODO soon:
- [ ] type checking
- [ ] use evaluated types to make code gen around math better
- [ ] ideally we don't want to recompute the definitions that live in scopes
  - [ ] add a `struct scope* scope` to expr_node
  - [ ] make the root scope live on a `struct ast` that houses the root node as well
  - [ ] handle scope deallocation in ast.c
    - [ ] `group_node` and `fn_decl_node` can have a `struct scope* scope` that they own
