[plt-dev] IDE and completion

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Tue May 4 15:08:00 EDT 2010

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 <matthias at 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
>> <matthias at 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 <jay at cs.byu.edu>
>> Assistant Professor / Brigham Young University
>> http://teammccarthy.org/jay
>>
>> "The glory of God is Intelligence" - D&C 93
>
>



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://teammccarthy.org/jay

"The glory of God is Intelligence" - D&C 93


Posted on the dev mailing list.