[plt-scheme] Re: On C#

From: Robby Findler (robby at cs.uchicago.edu)
Date: Tue May 22 14:12:24 EDT 2007

I'm guessing that the most helpful completions will be when methods
from the mred GUI classes are completed, so we want some approximation
to the truth that includes them.

My (long-standing, never implemented) thought is to look at the front
of the file for `require' lines, then somehow map those to some
(cached) version of their exports and maybe method names too.

Perhaps this is something I should be extracting from the documentation.

Robby

On 5/22/07, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> 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.