[plt-scheme] keywords (a backward-incompatible change)

From: Matt Jadud (mcj4 at kent.ac.uk)
Date: Mon Oct 3 15:23:34 EDT 2005

As an observer in the keyword discussion that's taken place on this 
list, something that I don't have a clear sense of are the known/planned 
use-cases for keywords. Does it make programming problems that are 
currently very difficult to solve much easier? Will it significantly 
cleanup lots of code? If this is the case, what libraries/modules/future 
extensions to PLT Scheme benefit from this kind of change? Will it 
change the way I personally think about/program in/use Scheme?

The MzScheme language tower is expressive enough to allow the 
implementation of Algol 60, Java, FrTime, and a host of other nifty 
languages (PLT Redex, etc.); why can't this be part of a "language"?  I 
mean, we've been given control over the reader, can override %app and 
its ilk... if I wanted to, I assume I could express Common Lisp as a 
"language" on top of MzScheme, and therefore get keyword parameters with 
it... although, that seems like a long way around.

I guess I'm just curious why it is a feature suggested for the base 
language, and why it isn't/cannot be a feature of a language in the tower?


Michael Sperber wrote:
> Eli Barzilay <eli at barzilay.org> writes:
>>The majority of :foo uses in identifier names are ones that are
>>*supposed* to behave like keywords, so the change is mostly trivial.
>>SRFI-42 is a major exception.
> Plus a lot of my code.  PLT Scheme has never cared particularly for
> R5RS compatibility, but this comes close to being the last straw for
> me.

Posted on the users mailing list.