I've been trying to get some feedback on a related idea for making 'view-independent program models', which could be rendered with alternate syntaxes (or even richer visual augmentation than strictly text).
The main idea is to represent languages as a graph of 'language constructs' and individual programs as paths through some language graph. That path is the 'model' which an editor or compiler/interpreter would operate on—but in the case of the editor, since the program model has no connection to syntax, you can configure how it's rendered on a per-user basis (or use it to experiment with new language UI concepts, etc.).
I've had this on the back burner for a while now, waiting for the write moment to try building out a proof-of-concept version—but if someone could point out some kind of critical flaw in it and prevent me from wasting so much time, that'd be awesome :)
The main idea is to represent languages as a graph of 'language constructs' and individual programs as paths through some language graph. That path is the 'model' which an editor or compiler/interpreter would operate on—but in the case of the editor, since the program model has no connection to syntax, you can configure how it's rendered on a per-user basis (or use it to experiment with new language UI concepts, etc.).
Here's a write-up with illustrations: http://westoncb.blogspot.com/2015/06/how-to-make-view-indepe...
I've had this on the back burner for a while now, waiting for the write moment to try building out a proof-of-concept version—but if someone could point out some kind of critical flaw in it and prevent me from wasting so much time, that'd be awesome :)