On Tue, Aug 24, 2004 at 08:00:32AM -0400, Matt Frye wrote: > Copying _doesn't_ count, but Mike seems to at least understand > Jensen's Device. > > The key is pass-by-name parameter passing, whereby argument > expressions are compiled to parameterless procedures - the infamous > "thunk." Thunks can be passed into a called procedure to re-evaluate > the argument. > > Good stuff.
Here's a better explanation of call-by-name instead versus call-by-reference versus call-by-value: http://www.cs.sfu.ca/~cameron/Teaching/383/PassByName.html The Canadians are all over this stuff :-). It seems that the pass-by-name thing involved a "thunk" which appears to be a parameter-less chunk of code. Passing-by-name is akin to passing in a pointer to a parameter-less function in C. Pass-by-name also appears to be computationally obscure. It can be simulated when needed (by those clever mathematicians). > > MPF > > > On Tue, 24 Aug 2004 07:40:13 -0400, Mike M > <[EMAIL PROTECTED]> wrote: > > On Tue, Aug 24, 2004 at 02:28:29AM -0400, Matt Frye wrote: > > > A Gmail invite to the first person who can describe Jensen's Device > > > and it's significance in modern computer programming. > > > > Jensen's Device : uses the property that name parameters are > > re-evaluated on every reference > > > > passing parameters by name creates a new instance of that variable > > and it's initial value Not so sure about this now. > > > > It appears to be the basis of the function, procedure, and object > > in modern programing languages. It also may have been the beginning > > of the end of the "goto" or "jump" control mechanism. Uninformed blather. Pass-by-name was part of the larger process of developing functional and procedural programming languages. Also in this process the goto lost favor. > > > > The goto is by no means dead in real-time control. It actually makes > > code easier to read when there are deeply nested conditions. > > > > Reference: > > http://www.augustana.ca/~mohrj/courses/common/csc370/lecture_notes/algol3.html > > > > > > > > If you already have Gmail, don't be a hot shot. Sit on your hands > > > until the end of the day. If no one gets it by then, I'll trade it > > > for a beer. > > > > > > MPF > > > -- > > > TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug > > > TriLUG Organizational FAQ : http://trilug.org/faq/ > > > TriLUG Member Services FAQ : http://members.trilug.org/services_faq/ > > > TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc > > > > -- > > Mike > > > > Moving forward in pushing back the envelope of the corporate paradigm. > > > > > > -- > > TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug > > TriLUG Organizational FAQ : http://trilug.org/faq/ > > TriLUG Member Services FAQ : http://members.trilug.org/services_faq/ > > TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc > > > -- > TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug > TriLUG Organizational FAQ : http://trilug.org/faq/ > TriLUG Member Services FAQ : http://members.trilug.org/services_faq/ > TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc -- Mike Moving forward in pushing back the envelope of the corporate paradigm. -- TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug TriLUG Organizational FAQ : http://trilug.org/faq/ TriLUG Member Services FAQ : http://members.trilug.org/services_faq/ TriLUG PGP Keyring : http://trilug.org/~chrish/trilug.asc
