() "Perry E. Metzger" () Sat, 10 Jan 2015 17:07:54 -0500 I recognize that you don't want me to "change the subject" to refactoring, but I don't see this as a change of subject. The concern isn't as such code completion, that's just a detail. Right, i see this discussion as kind of like trying to decide how to get to the a southeast destination on the gridded city streets: one can go south then east, or east then south: | A──────────────y A -- you are here | │ │ B -- destination | │ │ | │ │ x -- completion supported | │ │ y -- AST exposed | │ │ | x──────────────B At the destination, Emacs and GCC will be friendly and fruitful and a new era of meta-to-the-Nth free software hacking begins. M-x praise-gnu-i-can-hardly-wait RET! I think the route through ‘x’, determining the minimal required design for supporting only completion and implementing that, makes for a lot more work, later (segment ‘xB’). That will be a pain not only in quantity, but also in quality, in the sense of conceptual backtracking, design retrofitting, and other "undo". I think it would be wise to traverse ‘Ay’ first, even though that's a lot of work, too, and more importantly, fraught w/ the danger of (professional :-D) proprietary misappropriation. The latter risk is mitigated because traversing ‘yB’ will be fast. True, it will be fast also for the (pro) prop m.prop. forces, but i think free software hackers are more nimble, confident, and capable of achieving a multiplicity of superior results. That last statement is both evidence- and faith-based. The reader is invited to percolate their experience to taste... -- Thien-Thi Nguyen GPG key: 4C807502 (if you're human and you know it) read my lisp: (responsep (questions 'technical) (not (via 'mailing-list))) => nil