> From: [EMAIL PROTECTED] (David Combs) > Lisp is *so* early a language (1960?), preceeded mainly only by > Fortran (1957?)?, and for sure the far-and-away the first as a > platform for *so many* concepts of computer-science, eg lexical vs > dynamic ("special") variables, passing *unnamed* functions as > args ... maybe is still the only one in which program and data > have the same representation -- that it'd seem logical to use it's > terminology in all languages.
Yeah, but why did you cross-post to so many newsgroups? Are you trying to run a flame war between advocates of the various languages? (Same accusation to the OP moreso!) > From C is the very nice distinction between "formal" and "actual" args. I think Lisp already had that nearly 50 years ago. Function definition (lambda expression) has formal args, EVAL recursively calls EVAL on sub-forms to create actual args and calls APPLY on them and whatever function is named in the CAR position of the form. Whether anybody bothered to use that specific jargon, or it was just so obvious it didn't need jargon, I don't know. > And from algol-60, own and local -- own sure beats "static"! Yeah. But now that you mention it and I think about it, what's really meant is "private persistent". Global variables are public persistent. Local variables and formal args to functions are private transient (they go away as soon as the function returns). but OWN variables are private to the function but stay around "forever" just like globals do, so that side effects on the OWN variables that occurred during one call can persist to affect the next call. Lexical closures in Common Lisp go one step further, allowing private persistent variables to be shared between several functions. All those functions share access to the private variable which they co-OWN. Another way in which OWN or lexical-closure variables aren't like what the word "own" means in ordinary language is that it's possible to transfer ownership by selling or giving something to somebody else, but not with OWN variables or lexical-closure variables. So even though I like the word OWN better than the word STATIC for this meaning, I'm not totally comfortable with that jargon. But "persistent private" is a mouthful compared to "OWN", and I doubt anyone can find a word of appx. 3 characters that conveys the intended meaning so we're probably stuck with "OWN" as the best short term. -- http://mail.python.org/mailman/listinfo/python-list