[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Y Store now C++
Why not just make this behavior deprecated? Then anyone who uses "foo" for
both a function and a variable name will see a warning message and will
know what to change. This strategy has worked well for other languages
(java, python come to mind).
> Date: Tue, 25 Feb 2003 09:55:22 -0500
> From: Scott McKay <email@example.com>
> 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.