Ah, you seem to be
talking about having the source code of function
X inside the source code of
function Y and, then, the names
known in function Y are also
known in function X unless
declared again within function
X. I LIKE that! That's what PL/I
has.
Once I got a phone interview from
Google. An early question was,
"What is your favorite programming
language?"
Sure, right away, PL/I! Opps, (from a movie) "way
wrong answer!". Apparently the
only right answer was C++. Gee,
I didn't want to lie. Besides, to me
saying C++ instead of PL/I should
cause me to lose a full letter grade!
So, PL/I has descendancy, static
and dynamic. The static version is
from the nesting in the static source code. The
dyanmic version is from functions,
subroutines, etc. that have been
called (are active) but have yet to
return.
Then with such descendancy and entry variables, can get
some interesting situations, design
patterns!
I did that once and avoided a
total mess in the IBM AI language
KnowledgeTool!
Once I got a phone interview from Google. An early question was,
"What is your favorite programming language?"
Sure, right away, PL/I! Opps, (from a movie) "way wrong answer!". Apparently the only right answer was C++. Gee, I didn't want to lie. Besides, to me saying C++ instead of PL/I should cause me to lose a full letter grade!
So, PL/I has descendancy, static and dynamic. The static version is from the nesting in the static source code. The dyanmic version is from functions, subroutines, etc. that have been called (are active) but have yet to return.
Then with such descendancy and entry variables, can get some interesting situations, design patterns!
I did that once and avoided a total mess in the IBM AI language KnowledgeTool!