Promises and agents are both fairly straightforward. It's STM and atoms
that wouldn't be. But delivering things to blocking channel-gets could be
used as a latch to control access to critical sections, so you could
probably implement ordinary locks on top of core.async, and locks can then
be used to build STM and atoms. So it seems likely it can be done.

Whether it's *worth* doing, to implement the other Clojure concurrency
structures on top of Go, is another question, and one I'm not qualified to
answer. :)



On Tue, Jul 2, 2013 at 3:19 PM, Jim - FooBar(); <jimpil1...@gmail.com>wrote:

> also what you're asking doesn't really make sense....how would you
> implement synchronisation primitives (stm atoms promises) on top of
> asynchronous infrastructure?
> agents are asynchronous but I haven't got a clue about the potential
> benefits (or not) of implementing them on top of core.async.
>
> Jim
>
>
>
> On 02/07/13 20:14, Jim - FooBar(); wrote:
>
>> I've not looked at core.async yet but I'd expect it to build on top of
>> the built-in concurrency primitives and not the other way around...
>>
>> Jim
>>
>>
>> On 02/07/13 20:12, Robert wrote:
>>
>>> Are all Clojure concurrency primitives efficiently implementable on top
>>> of core.async?
>>>
>>> If so, could this be used to port Clojure from the JVM/CLR/JS to Go?
>>> --
>>> --
>>> 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+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
>>> For more options, visit this group at
>>> http://groups.google.com/**group/clojure?hl=en<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+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
>>> .
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
> --
> --
> 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+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> For more options, visit this group at
> http://groups.google.com/**group/clojure?hl=en<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+unsubscribe@**googlegroups.com<clojure%2bunsubscr...@googlegroups.com>
> .
> For more options, visit 
> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
> .
>
>
>

-- 
-- 
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/groups/opt_out.


Reply via email to