[plt-scheme] Re: On C#

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Tue May 22 14:08:35 EDT 2007

You do compute the list of defined names in the (define drop-down menu.

You could compute the list of all methods in scope.

So if we could provide a drop-down menu of possible choices after one  
or two letters we could still help syntactically and typ-ologically  
challenged people like those Paulo describes.

Perhaps we could even introduce Hungarian typing, as in x:button, to  
help the tool. If the programmer can't figure out the type of the  
thing, too bad; there'll be a long list of names (perhaps a dozen or  
two). If he can -- power to him! -- he also gets advantages in terms  
of typing within drscheme.

-- Matthias

P.S. And then there is Rohann's EMACS mode. You don't have to use  
DrScheme to use PLT Scheme.

On May 22, 2007, at 12:09 PM, Robby Findler wrote:

> Yeah -- one of the standard complaints. :)
> Completing the methods of a class is tricky, since you don't have a
> type system to tell you what the pool of methods is.
> You can do completion based on the keywords in, say, the hdindex and
> keywords files you find in the documentation directories. That's
> probably the easiest approximation.
> Good luck with your research!
> Robby
> On 5/22/07, Paulo J. Matos <pocm at soton.ac.uk> wrote:
>> Ok, so let me explain the context so that everyone understands the  
>> issue.
>> Here in University of Southampton, Group of Dependable Systems and
>> Software Engineering we have a Software Engineering Special Interest
>> Group where we meet every week. This week we talked about
>> [requirements] traceability in agile methods. One of the suggestions
>> that came up was that we could develop a traceability tool which  
>> helps
>> user trace requirements/tests/code using linking identifiers, so that
>> you can for example say: This code implements this requirement or,
>> this test was developed to test this code in mind. Now guess you
>> change a requirement, the tool might alert you that you need to  
>> change
>> the code at that point, etc etc.
>> Well, as in a discussion lots of issues came to mind, one of them was
>> the programming language we could use.
>> (the resulting opinions from the 6 that were present)
>> - Java was down immediately since most of us didn't want to mess  
>> with Java.
>> - C/C++ was too low level for some.
>> - Haskell, Dylan were too mystic and 'mathematical' for others.
>> - C# came up as a possibility
>> Then I suggested PLTScheme or if people are against it, Ocaml.
>> After a lot of discussion Ocaml was scratched. C# and PLTScheme were
>> now up to discussion. I was mentioning that I had implemented some  
>> IDE
>> features in an internal tool and that I had tried to implement  
>> them in
>> PLTScheme without success mainly because I do not know the API and I
>> was not yet able to find examples to guide me through implementing
>> stuff like that. The main feature which was complained about was:
>> - Facility to get a list of class methods when you do "(send class "
>> This is not really important but what I saw is that it is _really_
>> important for them who are not used to programming in Scheme.  
>> However,
>> most, but not all, are inclined to C#, not because they know the
>> language but because the IDE has this feature.
>> It's quite hard to beat such argument. No matter saying that's not  
>> the
>> important thing. So, I told them I would try to look at the code and
>> see if it's easy to implement and I'll do a PLTScheme demo next week
>> so that they could see the IDE and some of the language features of
>> interest to us.
>> In fact, in a way I understand them, because most of them have  
>> used in
>> their classes during their degree Eclipse, or .NET and now if they
>> don't see an IDE full of class trees, way to generate code by filling
>> a couple of boxes etc, they get scared. One of the colleagues which
>> also supports Scheme because he wants to learn something new said  
>> that
>> as PhD students we need to research new possibilities instead of
>> getting stuck to the traditional ways but that remark didn't help to
>> the discussion, anyway.
>> Another thing I mentioned, probably a year ago but can't find it in
>> the mailing list would be to have a live helper frame showing up help
>> on the current keyword. Still I'm having a lot to do and I'm looking
>> at some syntax-case publications at the moment so trying to look
>> deeply into the DrScheme tools API or source code is unfortunately a
>> no go.
>> So, that's it.
>> Sorry for posting this to the wrong list but I was probably thinking
>> about plt-scheme and just wrote it in the sender instead of the
>> recipients name. Frustrating thing is, I noticed immediately after
>> pressing send. I still tried discard but gmail was too fast and sent
>> the email anyway.
>> Oh well... :)
>> Cheers,
>> Paulo Matos
>> On 5/22/07, Grant Rettke <grettke at acm.org> wrote:
>> > It is so hard to accept that with which we are not familiar.
>> >
>> > I can't stand reading dark on light for example...as you well  
>> know :) (thanks!)
>> >
>> > On 5/22/07, Robby Findler <robby at cs.uchicago.edu> wrote:
>> > > Still, you tantalize us :)
>> > >
>> > > Are the missing niceties the usual things people complain  
>> about (tab
>> > > completion, for example), or are they new ones?
>> > >
>> > > Robby
>> > > _________________________________________________
>> > >   For list-related administrative tasks:
>> > >   http://list.cs.brown.edu/mailman/listinfo/plt-scheme
>> > >
>> >
>> >
>> >
>> --
>> Paulo Jorge Matos - pocm at soton.ac.uk
>> http://www.personal.soton.ac.uk/pocm
>> PhD Student @ ECS
>> University of Southampton, UK
> _________________________________________________
>  For list-related administrative tasks:
>  http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.