Re: [friam] Re: Distributed failure models

Tom Van Cutsem <[email protected]> Wed, 8 Jul 2015 21:39:27 +0200
Newsgroups gmane.comp.capabilities.general
Message-ID <CAKDfNj8hydp3ZdB3ibTgsFTHtaNGAH3Vy6s5=FBf6Ug-0v6xiA@mail.gmail.com>
2015-07-06 18:06 GMT+02:00 Karp, Alan H <[email protected]>:

> Daira Hopwood wrote:
>
> > I continue to be convinced that both models are necessary and must be
> used simultaneously,
>
> An excellent summary of the issues.


I agree.

There are further implementation synergies to supporting Ken-like error
> masking in
> combination with other forms of error handling. One of the most efficient
> ways to
> implement the snapshotting/rollback needed for Ken is to use copy-on-write
> for state
> modifications (at the word, object or page level). This enables cheap
> implementations
> of several other language features. See my Strange Loop presentation at
> <
> https://github.com/noether-lang/noether/tree/master/doc/presentations/StrangeLoop2014
> >
> for details, particularly slides 16 to 30 inclusive.


This all reminded me of two recent, similar abstractions:

* Worlds by Alex Warth et al at VPRI, see <
http://www.vpri.org/pdf/tr2011001_final_worlds.pdf>

* Concurrent Revisions by Sebastian Burckhardt et al at MSR, see <
http://research.microsoft.com/en-us/projects/revisions/>, in particular,
this example <http://www.rise4fun.com/Revisions/FlakyCode>, which is
precisely your "side-effect confinement".

Both abstractions also remind me of Software Transactional Memory
implemented using snapshot isolation (e.g. as in Clojure's STM).

I subscribe to your point of view that a few implementation-level
primitives may enable a wide range of useful language abstractions.

Cheers,
Tom

_______________________________________________
cap-talk mailing list
[email protected]
http://www.eros-os.org/mailman/listinfo/cap-talk