[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: 200alpha5



Anton van Straaten wrote:

> Felix of Chicken (don't know his last name, so he gets to be named like
> William of Occam) 

ROTFL.

Okay, here's the scoop.  I don't think we've settled on anything yet.
But the most likely resolution is going to be this.

Principle 1: We will *not* mess with Scheme's reader.  MzScheme will
read Scheme syntax, and nothing else.  This both avoids the usual
problems that come with messing with syntax, and saves Matthew from
endless hacking.

Principle 2: We will permit other syntaxes.  However, as penalty for
straying from Scheme, we sequester them to separate files.

Principle 3: Some of the programming overhead can be dissipated by the 
use of custom languages.

We're looking at a special kind of INCLUDE -- say INCLUDE/READER --
that permits you to specify a distinct reader for that file.  The
reader is responsible for generating legal s-expressions when it's
done, which get spliced into the including file for interpretation in
the ambient language.  The file can employ literally any syntax you
wish.

JScheme's syntax is, as you point out, only one of many
possibilities.  BRLs is another.  The beauty of this scheme is, we
don't care!  If you prefer BRLs over JScheme's, why, you're welcome to 
implement it.  Provide a BRL language.  Knock yourself out.  Etc.

We have considered, and rejected, the possibility of providing a
reader for a PLT Scheme MODULE itself.  Matthew points out it's bad
enough dealing with tabbing, indentation and other editorial concerns
raised by DrScheme for Scheme alone.  We don't want to make it worse.
I view this as a reasonable compromise -- especially since it does
not, down the road, preclude the more general solution, which can even 
incorporate the work done for INCLUDE/READER now.

Shriram