aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: f692f328ad3d080b115d210bba8ef76e49d55e79 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
+ Refactor ast.c and give each operation its own proc, i.e. instead of huge
node_type switches call a corresponding procedure. Should help with debugging,
stack traces etc.

+ Add const and volatile attributes to types

+ Add const to procedures

+ Add external to procedures, essentially disables templates and name mangling,
to be used to interface with C

+ Come up with some better file extension, .cu seems to be used by cuda
	- In fact Copper is already taken :(

+ Build new type system (current one build on top of AST fucking sucks)
+ Build the consteval stuff

OPTIMIZATIONS:
+ Use hashmaps or something similar for lookups for types and calls
+ Output one procedure at a time through the backend, would allow us to free
actualized procs immediately instead of keeping them around in memory
+ Simplify IDs to just char arrays, would save on memory
+ Types can just be types, they maybe don't need to be full on AST nodes