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* ...).

With respect
Alexander Rabtchevich
Gimp-developer mailing list

Reply via email to