This page is part of the web mail archives of SRFI 88 from before July 7th, 2015. The new archives for SRFI 88 contain all messages, not just those from before July 7th, 2015.
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