[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Y Store now C++
At 9:17 AM -0500 2/25/03, Geoffrey Knauth wrote:
>On Monday, February 24, 2003, at 11:55 PM, Daniel Weinreb wrote:
>
>>>So what are the hacks that constrain you in Common Lisp -- that you
>>>couldn't fix within the language?
>>Having separate "value cells" and "function cells" (to use the
>>"street language" way
>>of saying it) was one of the most unfortuanate issues. We did not
>>want to break
>>pre-existing programs that had a global variable named "foo" and a
>>global function
>>named "foo" that were distinct.
>
>Why didn't this have a command-line switch such as
>`--value-function-cells' for the behavior you sometimes needed, that
>you could turn on or off depending on how hackish you needed to be?
>I'm thinking of all the GCC switches to enable this-or-that
>compatibility for archaic or broken programs.
>
>It's seems odd that the whole language got a reputation for being
>hacked, when the key hacks could have just had on/off switches.
Feh. Switches like this are just worse hacks, because it means
that the source code can't be read unless you know how it's going
to be compiled. It's one thing to have switches to control the
optimization/debuggability/etc, but quite another to have switches
that control major parts of the semantics of the language.
>Or did you indeed have these switches? If so, I can't imagine you
>could ever get rid of them, just as you could never get all C
>programs to compile with GCC without compatibility toggles.