--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Looks awesome! I've just taken a moment to think of all the possibilities this could allow.
One question: can multiple concurrent IoC threads be multiplexed over multiple JVM threads? One advantage go's goroutines have is that they work fine for single-thread concurrency, but if more cores are available they can use them.
Phil
(ns thheller.async-test(:use clojure.test)(:require [clojure.core.async :as async :refer (go >! <! >!! <!!)]))(def c (async/chan))(defn do-some-work [work](throw (ex-info "no way" {:work work})))(go (loop [work-done 0](let [[reply-to work] (<! c)reply (do-some-work work)](>! reply-to reply)(recur (inc work-done)))))(let [me (async/chan)](>!! c [me :work-work])(<!! me) ;; never returns)
Oh man, how is everyone _not_ running around screaming about this right now?
It seems to me that the Clojure space suffers from an unusual malady: it's busy sitting here quietly advancing half of applied computer science, and no one seems to notice the full extent of its import.
Man, I'm sometimes forced to just stop for a moment and sit in awe at how lucky I've been to see this stuff develop and to get to use it.
Clojure was huge. And before we're close to digesting its potential, there's protocols. And Clojurescript. Then Datomic. Reducers. Now this.
And it's not about everything being necessarily _novel_, though there is often novelty. For me it's largely about the cohesiveness of the design and the consistency of the overarching vision. Everything _fits_. I feel like I'm using tools and ideas that weren't just developed with care, or cleverness, or experience, but all of those things in a kind of harmony that's vanishingly rare to find in any field.
I honestly feel like I'm witnessing history being made.
Thank you Rich Hickey, and everyone else in this community for making my work every day so enjoyable.
- Peter Taoussanis
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clo...@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+u...@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+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
> CSP proper is amenable to certain kinds of automated correctness analysis.> No work has been done on that front for core.async as yet.Although a far cry from Go's race detector, Go did ship with one feature that is helpful for preventing a certain class of bugs: explicit restriction to a send-only or receive-only channel via constraining conversion or assignment. See http://golang.org/ref/spec#Channel_typesAlthough Go utilizes the type system to accomplish this at compile time, core.async could achieve the same effect at runtime. Essentially, there could be two conversion functions for wrapping a channel in a read-only or write-only proxy object.I'm not sure if this is actually useful, but I'm curious: Has this been considered?
It seems to me that the Clojure space suffers from an unusual malady: it's busy sitting here quietly advancing half of applied computer science, and no one seems to notice the full extent of its import.
And it makes me sound like a broken record with my colleagues: "Oh! Clojure has..."
You received this message because you are subscribed to a topic in the Google Groups "Clojure" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure/PZ6sM2WXR1Y/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure+u...@googlegroups.com.
Oh man, how is everyone _not_ running around screaming about this right now?
It seems to me that the Clojure space suffers from an unusual malady: it's busy sitting here quietly advancing half of applied computer science, and no one seems to notice the full extent of its import.
Man, I'm sometimes forced to just stop for a moment and sit in awe at how lucky I've been to see this stuff develop and to get to use it.
Clojure was huge. And before we're close to digesting its potential, there's protocols. And Clojurescript. Then Datomic. Reducers. Now this.
And it's not about everything being necessarily _novel_, though there is often novelty. For me it's largely about the cohesiveness of the design and the consistency of the overarching vision. Everything _fits_. I feel like I'm using tools and ideas that weren't just developed with care, or cleverness, or experience, but all of those things in a kind of harmony that's vanishingly rare to find in any field.
I honestly feel like I'm witnessing history being made.
Thank you Rich Hickey, and everyone else in this community for making my work every day so enjoyable.
I don't think it's published to a maven repository yet. You can check it out, install it with `lein install`, then depend on it via [core.async "0.1.0-SNAPSHOT"]