He wanted to have a key-binding/structured editing where you would introduce a new form where the editor knew what the pieces would be. So if you did Ctrl-Define (whatever) it would insert
(define _ _) You would then tab to one of the _s. We talked about also doing things like Ctrl-Map or Ctrl-ListProc and tab through different list-ing options. We talked about having a key binding for "Get an identifier in scope" (which it would then tab through inside out) vs "Fresh expression" Jay On Tue, May 4, 2010 at 1:00 PM, Matthias Felleisen <matth...@ccs.neu.edu> wrote: > > How? > > > On May 4, 2010, at 2:53 PM, Jay McCarthy wrote: > >> 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 > > -- 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