[e-lang] Consequences of transactional E?

David Hopwood david.nospam.hopwood at blueyonder.co.uk
Tue Jan 30 00:13:18 CST 2007

Kevin Reid wrote:
> David Hopwood wrote:
>>This is a summary of a series of articles proposing to add support  
>>for lightweight transactions to E, Oz-E, and other security- 
>>oriented event-loop languages. (I wrote it originally as a single  
>>article, but it got ridiculously long.)
>>Non-local exits, with the semantics used in most languages  
>>including E, make it unreasonably difficult to ensure defensive  
>>consistency or correctness.
> So. What are the consequences if we move E to this model?

Patience, patience :-) I've not made the proposal yet. There is an answer
to your questions about escapes (they should be reduced in power, so
that they don't cause the same problems as exceptions).

> 3. It is possible to have values generated by a world that no longer  
> exists; this prevents programs from ensuring consistency between  
> mutable state and existant objects. For example:
>    - Allow only Selfless objects to be carried by nonlocal exits.

That is the solution I had intended.

> I believe this is too restrictive, as otherwise exception objects  
> cannot carry information useful for debugging without expensive  
> printing at throw time, when it is not known if the information will  
> ever be looked at.

I don't think this is too restrictive, or too inefficient. Exceptions
are rare; the cost of printing debugging information is not significant.

David Hopwood <david.nospam.hopwood at blueyonder.co.uk>

More information about the e-lang mailing list