Dear Faré, > different points of view. And even the same person has multiple points > of view at different moments.
You're absolutely right, and I only left this very important point out accidentally... For example, I could use a projection that allows me editing all function calls to a particular function including the lexical contexts they appear in, or another projection that allows me editing all methods of a particular generic function together, or one that allows me editing the body of some functions inlined into their call site, etc. You're also right about how difficult it is to beat or just to even be on a par with text editors while editing text. On the other hand I don't quite agree with the difficulty analysis you gave because you ignore the fact that you are talking about different set of features when comparing the possible point of views provided by text and structure editors. > coherence with other points of view at all times. But then, how does > your system reconcile things? What if two people edit at the same > time, breaking different invariants? Soon enough, you'll find you need I don't really see any difference in this regard between text editors and structure editors. How do you reconcile some text changes properly that really represent something more abstract? I think that's even harder to do correctly with text: just think about renaming a function while somebody else swaps it with another. Current version control systems fail miserably in this very simple case. After all, any change you do through any projection using a projectional editor will be represented in the document that is being edited. So I think if there are concurrent edits to the same document there must be some way of merging them either automatically or manually (transactions, versioning, conflict resolution, etc.). Best regards, Levente Mészáros _______________________________________________ fonc mailing list [email protected] http://vpri.org/mailman/listinfo/fonc
