The problem is that core.async defines some functions which are also defined in clojure.core. When now you invoke into, you are not referring to the clojure.core/into but to cosee.async/into which, if I remember right, takes a channel as first argument.
If you want to use the clojure.core into, you can use (clojure.core/into [:a] (list :b :c)). Juan Manuel El martes, 20 de mayo de 2014 07:51:59 UTC+2, Craig escribió: > > > Hi, > > With the following project file: > > (defproject p1 "0.1.0-SNAPSHOT" > :description "Project One" > :url "http://acme.com" > :license {:name "Eclipse Public License" :url " > http://www.eclipse.org/legal/epl-v10.html"} > :dependencies [[org.clojure/clojure "1.6.0"] > [org.clojure/core.async "0.1.303.0-886421-alpha"]] > :main p1.core) > > ..and starting an associated repl, I see (into) failing thus: > > $ lein repl > WARNING: reduce already refers to: #'clojure.core/reduce in namespace: > p1.core, being replaced by: #'clojure.core.async/reduce > WARNING: take already refers to: #'clojure.core/take in namespace: > p1.core, being replaced by: #'clojure.core.async/take > WARNING: map already refers to: #'clojure.core/map in namespace: p1.core, > being replaced by: #'clojure.core.async/map > WARNING: into already refers to: #'clojure.core/into in namespace: > p1.core, being replaced by: #'clojure.core.async/into > WARNING: partition already refers to: #'clojure.core/partition in > namespace: p1.core, being replaced by: #'clojure.core.async/partition > WARNING: merge already refers to: #'clojure.core/merge in namespace: > p1.core, being replaced by: #'clojure.core.async/merge > WARNING: partition-by already refers to: #'clojure.core/partition-by in > namespace: p1.core, being replaced by: #'clojure.core.async/partition-by > nREPL server started on port 60959 on host 127.0.0.1 > REPL-y 0.2.1 > Clojure 1.6.0 > Docs: (doc function-name-here) > (find-doc "part-of-name-here") > Source: (source function-name-here) > Javadoc: (javadoc java-object-or-class-here) > Exit: Control+D or (exit) or (quit) > > p1.core=> (into [:a] (list :b :c)) > #<ManyToManyChannel > clojure.core.async.impl.channels.ManyToManyChannel@4cc28666> > #<IllegalArgumentException java.lang.IllegalArgumentException: No > implementation of method: :take! of protocol: > #'clojure.core.async.impl.protocols/ReadPort found for class: > clojure.lang.PersistentList> > p1.core=> > > I can work-around using: (apply vector :q (list :a :b)), but why is the > (into) failing? Thanks. > > Craig > -- 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.
