>Dave wrote
>> I have a problem... take a look at this:
Aaron gave advice on how to solve this problem:
>Maybe Steve Leach or Jonathan Cunningham can give an explanation...
I was going to reply to Aaron privately about this, but since my
name was mentioned, I'll just "pop" in here to say I'll leave it
to Steve (or David, or whoever) ... :-).
FWIW, I think the ease-if-use v. efficiency trade-off has gone too
far in the direction of efficiency. Certainly it should be *possible*
to make things more efficient, bt flexibility and ease-of-use are
the primary advantages (IMNSHO) of Poplog, so Dave should never haeve
had this error in the first place.
Although I can't help wondering if Pascal was his first language, since
in C you don't have nested procedures. My guess is that he was using
nesting as a means of "hiding" the names of the internal procedures,
because he didn't want to make them global. My personal preference
would be for a mechanism to do this that didn't require lexical
nesting of the text.
>I regard it as design flaw that you can't ask Pop-11 to initialise ALL
>uninitialised lexical variables to an undef object. I can see why there
>may be some efficiency gain if the machine architecture includes
>instructions for setting up a procedure stack frame that clear local
>variables, i.e. setting them to 0.
>
>Very few languages have the kind of flexiblity and power that require
>all the subtlety described in the documentation.
I'm not sure that sublety is a Good Thing(tm) in a programming language;
perhaps you meant Power and Convenience? :-)
Jonathan
|