On Tue, Jan 17, 2012 at 2:31 PM, Rupert Swarbrick <rswarbrick at gmail.com>wrote:
> Raymond Toy <toy.raymond at gmail.com> writes:
> >> The stuff about programming conventions is beside the point;
> >> either the programming language guarantees lexical binding
> >> or it doesn't. You will recall we arrived here because
> >> reasonable people made different assumptions about symbol LB.
> >>
> >
> > Recall that maxima has the declare unspecial feature that makes symbols
> > that were special no longer special. I think all the lisps we build with
> > have this ability. But I'd rather make all special symbols follow the
> > *convention*. Unfortunately, I don't think we can do this without a lot
> of
> > manual work because we need to be able to tell if the variable is really
> > the same as some other special variable in some other file.
>
> I agree about it being nice to add earmuffs, but are there backwards
> compatibility issues to worry about? About deciding on possible naming
>
Why would there be backward compatibility issues? Do you mean on some
third-party code that uses these renamed variables? Yes, that would be a
problem, but should be pretty obvious.
> conflicts, I wouldn't think it's too difficult. Something as short as LB
> was pretty obvious to work out who was doing what. Presumably most
> variables would be considerably easier.
>
I think LB was easy because the number of places where it was used was
fairly small and the code using it was pretty readable. That's not true
for a lot of the code.
Ray