I think Guillaume ideas for editor templates and macros would be a Racket analogue to this idea. Partially implemented in DivaScheme
http://www.cs.brown.edu/research/plt/software/divascheme/ Jay On Tue, May 4, 2010 at 12:49 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > 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 > > > _________________________________________________ > For list-related administrative tasks: > http://list.cs.brown.edu/mailman/listinfo/plt-dev > -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://teammccarthy.org/jay "The glory of God is Intelligence" - D&C 93 _________________________________________________ For list-related administrative tasks: http://list.cs.brown.edu/mailman/listinfo/plt-dev