[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Y Store now C++

[Daniel Weinreb]
> Michael Vanier wrote:
> >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).
> >
> Sure, you can make it deprecated.  On what date are you going to stop 
> supporting it, and
> break Macsyma? Sorry, in the real world it's a lot harder to make 
> incompatible changes
> like that.

Unattended source-to-source transformation is fairly
easy in s-exp-based languages.  It may well be one of
the selling points of such languages.  For this reason,
I doubt that Lisp2 is being reluctantly tolerated
merely for backward compatibilty.  I should think
people actually want it, and for new programs.  The two
reasons I have heard consistently offered by Lisp2
partisans are 

(a) they want to use "natural" variable names like
`list' (although the unavailability of `t' seems OK)
without worrying that it will clash with function
names, and 

(b) defmacro-based macros (allegedly) risk no or
fewer variable-capture problems.