🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #6135

Re: The paradigm of Icon

#6135
From: David Keppel
Date: Mon, 09 Jan 1989 20:22
30 lines
1585 bytes
>In article  <2630@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes:
>>[define "procedural language": all modules have parent-child
>> relationship]
>>[Smalltalk uses messages, but generally have parent-child
>> relationship => procedures]

gudeman@arizona.edu (David Gudeman) writes:
>[I suspect Smalltalk is implemented with procedure calls]

A common piece of Smalltalk is

    method1
	(boolVar) ifTrue: [block]

The ``calling'' sequence is as follows:

	Method1 is invoked.  This allocates call frame f1.
	The method "ifTrue:" is called with parameter "block".
		This allocates call frame f2.
	If the reciever "boolVar" is the value "True", then the
		argument "block" is executed IN CALL FRAME F1.

Thus, the block argument (closure) is executed in the environment of
some parent and this is *not* a parent-child calling order.  Of course
parent-child ordering *can* happen, it just isn't such a general case.

	;-D on  ( My own silly opinion )  Pardo
-- 
		    pardo@cs.washington.edu
    {rutgers,cornell,ucsd,ubc-cs,tektronix}!uw-beaver!june!pardo
Technical Details
Message-ID: <6902@june.cs.washington.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ames!ncar!boulder!sunybcs!rutgers!mit-eddie!uw-beaver!uw-june!pardo
References: <8611@megaron.arizona.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!lll-winken!ames!ncar!boulder!sunybcs!rutgers!mit-eddie!uw-beaver!uw-june!pardo
From: pardo@june.cs.washington.edu (David Keppel)
Newsgroups: comp.lang.misc
Subject: Re: The paradigm of Icon
Summary: Smalltalk isn't "procedural".
Message-ID: <6902@june.cs.washington.edu>
Date: 9 Jan 89 20:22:51 GMT
References: <8611@megaron.arizona.edu>
Reply-To: pardo@cs.washington.edu (David Keppel)
Organization: U of Washington, Computer Science, Seattle
Lines: 30