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.