Welcome to Sunless-Sea To strive, to seek, to find, and not to yield.
Google
Entire Web sunless-sea.net
xanadu.net udanax.com
FrontEnds News MailGate
 public CVS
 rdf export
 home

SITENAV
 meetings
 what's new?
 whiteboards
 post article
 frontpage
 downloads

ORIENTATION
 legalisms
 history
 glossary
 participants

BACK-ENDS
 udanax-green
 udanax-gold

ALGORITHMS
 coordspaces
 enfilade
 ent

OLD MANUALS
 XIA

HELPING
 puzzles
 needs
 funding
Like the site? Click to donate!

 site-traffic
 admin


Re: Seeking Reference Material on Certain Obscure Programming Terms

MailGate Posted by Mark S. Miller on Sun Feb 02 21:04PM CST 2003
from the udanax mailing list dept.


At 06:26 PM 2/2/2003 Sunday, Jeff Rush wrote:
>* stepper
> obviously some kind of iterator; used as a base class in Udanax Gold

> but no definition of stepper is present; must be built-in to their
> flavor of SmallTalk. There is some confusion over whether the
> collection over which we are iterating can be mutated or not; hints
> are that a stepper insulates the caller from mutations, which is
> uncommon in iterators in other languages (C++, Python).

Came from us, not from Smalltalk. There should be a root class "Stepper"
somewhere in the sources defining this type. As I recall, there was at least
a message "step" that returned the next element and advanced. If I recall,
when you ask a mutable collection for a stepper, either

* it gives you a stepper over a copy, or,
* if the collection is mutated, any outstanding steppers are invalidated, or,
* the collection can't be mutated until all outstanding steppers are closed
or something.

I don't remember which it is, but any of the above preserve correctness. The
common iterators you refer to are examples of the kind of fragile
abstraction we tried to avoid building -- if you use them wrong, they don't
even blow up reliably, but just do the wrong thing.

>* passe
> seems to be a method invoked on "self"; does it pass the call to
> the parent class, trigger an exception as "subclass must
> implement" or something else? If the parent lacks such a method
> does it quietly do-nothing or raise an exception?

This either meant "deprecated" or gone/retired. I don't remember which. Also
our coinage.

>* fluid and emulsion
> apparently references to an old LISP object persistence mechanism
> that has found it's way into Udanax Gold/SmallTalk; I'm familar
> with the persistence mechanisms of Python (pickles) and CORBA,
> but I'd like to understand how fluid/emulsion compare.

"fluid" refers to fluid variables and dynamic scoping, as in
http://srfi.schemers.org/srfi-15/srfi-15.html .

"emulsion" was our coinage derived from fluids. I think it was part of our
implementation of fluids. On the C++ side, if I recall, at static
initialization time we strung together all the fluid variable "declarations"
on a linked list, and calculated the current size of all the fluid state.
Then, for each thread we allocated a frame that big. I think that frame was
the emulsion. Each fluid "declaration" would also calculate its offset into
that frame during the same static initialization phase. A fluid variable
access was then an access to the current thread's emulsion at the offset
calculated by that variable's "declaration".

I know you're working on the Smalltalk side, but I just don't remember what
we did there, except that it had adequately similar semantics.



>Jeff Rush, A Xanadu Curator of
>http://www.sunless-sea.net

Thanks! Keep up the good workD!


----------------------------------------
Text by me above is hereby placed in the public domain

Cheers,
--MarkM


<  Forum for bugs/patches   |   Seeking Reference Material on Certain Obscure Programming Terms  >

 

( Reply )

Terms Used
work

Related Links
Articles re MailGate
Also by Mark S. Miller

Reading List
As We May Think, 1945 Vannevar Bush
Augmenting Human Intellect:A Conceptual Framework, 1962 Doug Engelbart
Literary Machines, 1981, 87, 93 Ted Nelson
Engines of Creation, Chapter 14 The Network of Knowledge, 1986, 87 K. Eric Drexler
Hypertext Publishing and the Evolution of Knowledge, 1986 K. Eric Drexler
SF:EarthWeb, 1999 Marc Stiegler

Quick Links
www.udanax.com
www.xanadu.com
www.xanadu.com.au
Udanax List Archive
Xanadu® List Archive

All trademarks and copyrights on this page are owned by their respective companies. Comments are owned by the Poster. The Rest ©2001 Jeff Rush.