First, congratulation for this wonderful series of videos.
I'm having some problems reproducing the behaviour of your examples in
episode 2 of the core.sync series.
For instance, this example:
(let [c (async/chan 10)]
(>!! c 42)
(<!! (async/into [] (async/take 4 (pipeline< [4 inc
1 inc
2 (fn [x]
(async/to-chan (range
x)))
3 str]
c)))))
returns ["0" "1" "2" "3"] in the video.
With my code it consistenly returns:
;=> ["0" "3" "4" "5"]
and if I change str number of processes to two, it returns
;=> ["0" "2" "3" "4"]
and only when I restrict to one single str process I get
;=> ["0" "1" "2" "3"]
I think my results make sense because each element in the range can be
pipelined to different str processes (if they are more than one). Am I
right? Why are your results different than mine?
There are more discrepancies of other examples but I think all respond to
the same reason as this one.
Thanks,
Juan Manuel
PS: One suggestion in order to have more information in case of different
execution bejhaviour. For the next videos, could you make explicit the
versions of the libraries you're using?
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.