> Everything - the editor, semantic analysis, version control, execution engine, everything - all use the same data structures (the same abstract syntax tree).
Is that data structure suitable for all those purposes though?
How do you do optimisations like GVN on an AS->T<-?
It's not suitable for all purposes, but it's suitable for all editor purposes (including an in-editor execution engine). We don't do GVN, or any optimizations really, right now - I'm sure when we have a compiler of sorts we'll have other structures, SSA, etc.
Is that data structure suitable for all those purposes though?
How do you do optimisations like GVN on an AS->T<-?