[plt-dev] IDE and completion
The other day when Simon PJ lectured here in Olin's compiler class (thanks, volcano), he mentioned that he was jealous of one thing in OO PLs: auto completion. You write down "anObject." and you immediately get all possible methods that you can apply here and you continue to guess your way thru program construction. (My words as you can tell if you know Simon.)
Of course this isn't about FP vs OOP. It's about two different points:
1. syntax: OOP guys write down the first argument first (this) and then the method call and that is the way syntax works. I see nothing wrong with writing down
aList.
getting 2 possible completions in BSL/2:
-- length
-- reverse
choosing one, say length
and having the editor insert it like that:
(length aList)
If I allow the editor to manipulate my writings, why not be a tad more radical than add a word at the current position.
2. Types. You need some restriction on the space in which you search and you might as well use types. So perhaps in Typed Scheme we should be able to change the IDE so it behaves like the above.
Ah, but we also have history against us. Who would have thought that (lambda (x) (make-posn 0 x)) is the first argument for mapping over a list of numbers?
Is it really hopeless for us? -- Matthias