On Mon, 25 Sep 2017 08:39 am, Gregory Ewing wrote: > Dennis Lee Bieber wrote: >> "Binding" itself tends to be Python specific terminology -- in that it
"Binding" is certainly not Python-specific: https://en.wikipedia.org/wiki/Name_binding and here's an example of the term in use: https://www.gnu.org/software/sather/docs-1.2/tutorial/fortran-names.html >> is the parameter /name/ that gets bound/attached to the argument /object/. >> It is the same method as used in any Python "assignment" statement, > > Which is why I think "call by assignment" would be > a much better term! I think that suffers from the same problem as "call by binding" -- assignment is too general a word. The Pascal assignment: a := b; copies the value of b to the storage position represented by a. That's precisely the same thing that occurs when you call func(b), so one might equally say that Pascal was call by assignment. Likewise for C assignment. Pascal doesn't have "reference variables", so there is no assignment analogue to calling a function with a var parameter. But C++ does have reference variables, to we can say that assignment: a = b; is the same as function call func(b) regardless of whether C++ is using by-value or by-reference semantics. So I believe that either "call by binding" or "call by assignment" could both equally apply to any and all languages with function parameters, regardless of implementation or the language's defined semantics. -- Steve “Cheer up,” they said, “things could be worse.” So I cheered up, and sure enough, things got worse. -- https://mail.python.org/mailman/listinfo/python-list