Re: Prefix, not postfix (poll) bear 17 Apr 2006 05:03 UTC


On Fri, 14 Apr 2006, Marc Feeley wrote:

> But keywords are not variables.  They are constants.  Just like 123,
> "hello" and #\space.  They are (should be) syntactically
> distinguished from variables.

Ebbeh.  What is a constant, other than a variable with a
global, unshadowable, immutable binding?

>Regarding minimality, why didn't Scheme avoid the string type and
>simply use vectors of characters?  Actually why not just use lists of
>characters like in other languages?  For that matter, ``strings'' and
>``symbols'' could have been the same type .... Of
>course we could just do away with all of these types and encode
>everything with bignums.... Why does Scheme have
>"list" in addition to "cons", "cddr" in addition to "cdr"?

Are you finished setting up a straw man to knock down yet?
I didn't advocate any of these insane things, and ridiculing
them won't address my point at all.

What I said was simply, these things are symbolic constants.
They seem desirable because scheme otherwise doesn't have a
way to create immutable and/or unshadowable bindings.  Perhaps
this is a more general extension that should be considered
for our binding discipline.  Then keywords would merely be
one application of something that had many other applications.

				Bear