[plt-scheme] Re: possible discrepancy between documentation and actual usage of Typed Scheme

From: Benjamin L.Russell (DekuDekuplex at Yahoo.com)
Date: Wed Jul 2 23:24:44 EDT 2008

On Wed, 2 Jul 2008 09:10:00 -0400, Eli Barzilay
<eli at barzilay.org> wrote:

>The text itself is a
>preference that can be changed on the language configuration panel
>(form the language dialog hit the "Details" button), so you can just
>change that to use `typed-scheme' instead.

Thank you for your response and explanation of the situation.

Just to confirm:  Do you mean, after hitting "Show Details" with the
Module language selected, the text in the textbox under the title
"Command-line arguments as a vector of strings, in read syntax" (set
to "#()" by default)?

Although I can appreciate the benefits from a semantic point of view
of allowing multiple languages to be chosen from within modules using
the #lang line, now I feel concerned about whether this trend will
then make the REPL less convenient to use for quick evaluations in
multiple module languages that would not separately be available from
the "Choose Language" dialog box.

For instance, suppose that I have just started up DrScheme, and want
to compare the result returned by equivalent versions of, say, a
fibonacci program in different Module languages, say, "#lang scheme"
vs. "#lang typed-scheme."

If I specify "#lang scheme" in the Detail for the Module language, and
start up a new tab in the Module language, then "#lang scheme" will
become the language for that tab.  So far, so good.

But then, suppose that I open a new tab, intending to do a quick
comparison of results returned from an equivalent fibonacci procedure
in the interactions panel in, say, "#lang typed-scheme."  Because both
"#lang scheme" and "#lang typed-scheme" are contained with the Module
language, I would then need to carry out one of the following two
steps to switch to "#lang typed-scheme" in this tab:

1) In the definitions panel, type "#lang typed-scheme", and run the
content of that panel.  Slightly inconvenient, since unlike before, I
actually need to type the full name of the language.  What happens if
I forget whether it was "#lang typed scheme," "#lang typed_scheme," or
"#lang typed-scheme", for instance?  What happens if it is a new
language with a hard-to-remember name?

2) In the "Show Details" mode of the "Choose Language" dialog box,
under "Command-line arguments as a vector of strings, in read syntax",
type "#lang typed-scheme" (again, same problem with remembering the
language name as above), and click "OK".

The gist of the problem seems to be that I actually need to remember
the full name of the language and type it somewhere, rather than just
select it from a list.  I often forget names, and it is usually much
easier to select a name from a list somewhere than to need to remember
it as text and to type it out somewhere.  This new need can make
selecting a language more difficult to use, especially if I need to
switch often between similar-sounding language names within the same
Module language.

Ideally, if modules are to be used in the future, it would help if
there were some way to specify different module languages by clicking
on entries in a list, instead of typing out the names of the
languages.  One suggestion would be to create a list of entries
available by clicking on a right-pointing triangle to the left of the
"Module" language in the "Choose Language" dialog box, similarly the
way that different sub-languages of "How to Design Programs" and
"Swindle" are currently chosen.  That way, I would be able to specify
a new default language for a tab without needing explicity to remember
the exact name of a Module language.

-- Benjamin L. Russell

Posted on the users mailing list.