[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