3 ms·
the canonical representation is always the AST This is what a next-generation programming environment must have. Primarily, one manipulates AST nodes, projecte
by pshc 13y ago
the canonical representation is always the AST
This is what a next-generation programming environment must have. Primarily, one manipulates AST nodes, projected visually into lines of code. But, to preserve the comfort and flexibility of free-form text editing, the editor knows about non-AST text fragments, tree "holes", and other representations of intermediary editing state. (A big UI problem for sure!)
An editor that can deal with the ways in which code changes over time elegantly is what we really need. Since editing a plaintext projection discards code movement metadata, editing the AST directly is paramount. Without that metadata, the programming environment can't version control structured code automatically.
Looking forward to 2014!