On 10/05/14 22:59, Michał T. Lorenc wrote:
Since, core.async has goroutines maybe it would be possible to implement go-circuit <https://thestrangeloop.com/sessions/go-circuit-distributing-the-go-language-and-runtime> for clojure to distrubute goroutines across computer nodes?
In a previous topic <https://groups.google.com/forum/#%21topic/clojure/27HCKTERBn8> about core.async over websocket + cljs + clojure was an argument <https://groups.google.com/d/msg/clojure/27HCKTERBn8/CV7G-Folwr4J> that sticks in my mind: trying to make distribution of processing transparent, ie look as local CSP using the same api as core.async, is probably not a good idea, since there may be semantic differences that may not be easy to resolve, e.g. blocking semantics, latency, and failure modes could be awkward to retrofit into an api designed for local CSP processing. A related concept is the one of leaky abstraction <http://en.wikipedia.org/wiki/Leaky_abstraction>, whereby the things below that have been abstracted (sort of made invisible) find a way to become painfully visible at the level above. This is not saying that it's impossible, it just requires a very careful design to avoid leakiness and complection. This isn't a new idea by the way, and if anyone would like to go that way, she/he should start by reading this paper <https://github.com/jimweirich/presentation_10papers/blob/master/papers/smli_tr-94-29.pdf> that concludes as follows:

   /A better approach is to accept that there are
   irreconcilable////differences between local and distributed
   computing, and////to be conscious of those differences at all stages
   of the //design and implementation of distributed
   applications.////Rather than trying to merge local and remote
   objects, engi//neers need to be constantly reminded of the
   differences////between the two, and know when it is appropriate to
   use //each kind of object./

Anyway, I'm no specialist here but I thought this would be good references to start with.

--
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