[TriLUG] Gmail invite

Mike M no-linux-support at earthlink.net
Tue Aug 24 10:39:34 EDT 2004


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
> <no-linux-support at earthlink.net> 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.



More information about the TriLUG mailing list