[plt-scheme] Re: On C#
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
>
>