[plt-scheme] DrScheme configuration questions

From: Robert Bruce Findler (robby at cs.uchicago.edu)
Date: Fri Sep 20 08:58:37 EDT 2002

At Mon, 12 Aug 2002 10:53:09 -0400, Eli Barzilay wrote:
> On Aug 12, Robert Bruce Findler wrote:
> > Eli Barzilay <eli at barzilay.org> said:
> > 
> > > 1. Is there an easy way to change the default settings?  -- I have a
> > >      (read-case-sensitive #t)
> > >    in my language, which seems to have an effect on using it in
> > >    DrScheme too - but this is not reflected in the language settings.
> > 
> > The settings in the language dialog only reflect the initial
> > language you will get when you next click execute, not the
> > current ones in the user's language.
> 
> I didn't explain myself properly -- the case-sensitive line is in the
> module that implements my langauge -- so I always get a case-sensitive
> language, but this is not reflected in the dialog which is still on
> the default off position.

Sorry I've taken so long to respond to this, but I'm not sure that this
can work.

Please correct me if I'm wrong, but it sounds like you have something
like this:

  (module my-lang mzscheme
    (read-case-sensitive #t)
    ...)

and

  (module m my-lang
    ... case-sensitive code ...)

If so, I'm pretty sure that that case-sensitive line can mess up the
compilation of other files.

Leaving aside .zo compilation, which would change the order in which
files are compiled, the case-sensitive annotation is going to "bleed"
into other modules, becuase the read-case-sensitive line imperatively
changes the behavior of the reader.

So, if I require the "m" module and my module's language is mzscheme, I
may well end up in case-sensitive mode, even tho I'm not in your
language (or, depending on how the compiler does things, neither my
module nor yours is going to be in case-sensitive mode). I'm not sure
of the exact details of how the compiler would compile the above
program, but I doubt it is something you can rely on to get the case
sensitivity right.

Instead, we use the:

  #cs

annotation. You have to put that on every module you want to be
case-sensitive, tho.

Robby


Posted on the users mailing list.