[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jan 21 18:23:20 1993 
Subject:Re: dlocals etc. 
From:Steve Knight 
Volume-ID:930123.02 

Robin Popplestone writes:
> To this day we can't compete with Scheme and JNML in generating
> light weight continuations.


Scheme continuations are not quite the same thing as Pop processes regardless
of issues of dlocalisation.  In particular, Pop processes take copies
of the dynamic environment (i.e. copies the callstack) and Scheme
processes do not.

The upshot of this is that Scheme achieves its lightweight continuations
by forcing all (mutable) variables to be type-3 lexicals.  This is just
shifting the work from one place to another, of course.  It makes good sense 
in Scheme because very few variables are mutable.  It makes poor sense in
current day Pop because almost all variables are mutable.

Unfortunately, POP-11 doesn't implement environment copying perfectly.  Type-3
lexicals are not copied -- but shared between different processes.  This
is a known defect in Pop processes.

Steve