[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 <swm@itasoftware.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.