Raphaël, could you please explain me (I'm new to scheme) in a few
words, why the global variables are poor style coding? From my POV, they
can only introduce memory consumption in common case (but not in the
case of GIMP script-fu) and maybe some redefinitions in a large program
(this doesn't concern Gimp also). But the inability to use global
variables along with scheme syntaxes leads to a good deal of parentheses
which could be a problem to a programmer.
So why isn't it be up to a programmer to decide what kind of coding he
prefers? The real result of the changes in the interpreter is that
almost all third-party scripts I have on my PC doesn't work anymore and
one of them even kills Gimp at startup. Does the coding style
improvement worth the loss of interoperability?
I'm not complaining, I'm trying to analyze.
> The old interpreter tolerated some poor programming constructs that are
> not tolerated anymore by the new one. The main difference is that all
> variables have to be declared before being used. The old interpreter
> allowed you to do a (set! ...) on a variable without declaring it first
> and without giving it an appropriate scope in a (let ...) or (let* ...).
Gimp-developer mailing list