Hi,

I am pleased to announce the first release of: 
https://github.com/mixradio/multi-atom.

Much in the spirit of avout[1] and enduro[2], multi-atom is a library for 
dealing with things that can behave as atoms, only not limited to in-memory 
cells. 

Its approach is to:

a. Use the IAtom interface now available to library authors.
b. Target only the core capability of both deref and swap!, there is no 
attempt made to support e.g watches.
c. Note that almost any interesting service that can provide atoms is not 
itself an atom, but rather a kind of container for atomic cells. This 
container is modelled by the so called multi-atom.

The core library provides a pair of protocols:
- IDerefAt (deref-at! [multi-atom key])
- IMultiAtom (swap-at! [multi-atom key f & args])

Given an IMultiAtom one can get an IAtom/IDeref at a particular key with 
the function 'atom-view'.

A DynamoDB implementation is provided right now, others are possible given 
some kind of CAS support. Therefore Zookeeper, ACID databases and so on can 
implement the IMultiAtom protocol. 

 [1] https://github.com/liebke/avout
 [2] https://github.com/alandipert/enduro

Comments and contributions welcome!

Regards,

Dan

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to