This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
- # announcements (5)
- # beginners (151)
- # calva (4)
- # cider (32)
- # cljdoc (27)
- # cljsrn (2)
- # clojars (15)
- # clojure (66)
- # clojure-houston (2)
- # clojure-india (1)
- # clojure-italy (3)
- # clojure-uk (7)
- # clojurescript (15)
- # data-science (1)
- # datomic (2)
- # fulcro (6)
- # off-topic (24)
- # pedestal (1)
- # re-frame (20)
- # reagent (3)
- # remote-jobs (4)
- # rewrite-clj (2)
- # shadow-cljs (9)
- # spacemacs (5)
- # tools-deps (4)
- # vim (1)
- # yada (4)
"Abstraction, Abstraction, Abstraction... thats how you win a turing award...." https://www.youtube.com/watch?v=tw3gsBms-f8
@denisgrebennicov @seancorfield the real answer re 1.11 is no decisions have been made yet. Spec work is primary right now and certainly parts of that may end up bleeding into the language itself (like fn specs). Anything in jira is unreviewed by rich and speculative
@sogaiu I'm looking forward to Spec 2 going non-alpha -- and becoming the "standard" way to do specs.
The alias ticket is also something I've wanted for a few releases -- but I have a reasonable workaround that we use at work.
Clojure doesn't need much extra functionality at this point. The slow, steady evolution is fine. We've had every pre-release build in production since 1.3 Alpha 7 or 8 so that stability is important.
was interested in the var tag one: https://clojure.atlassian.net/browse/CLJ-2165 -- but i see it only seems to be for "bind to same-named var on reading side (a la var serialization support)."
am also very much looking forward to non-alpha specs, but as it seems to be in newer territory can understand that coming up with something satisfactory could take time
We've kept a branch up-to-date at work with Spec 2. It's interesting because Spec 1 was so good and so useful (for us, in production) but Spec 2 addresses a lot of the shortcomings and is even better.
Hi, folks, I want to know what is the use case for
clojure.core/bound-fn function? I can't understand it well after reading the doc.
So if you use binding, then the values will still be bound inside the function as they were before.
@doglooksgood the difference really is when you run that function on a different thread.
I see it pretty similar to
binding-conveyor-fn (which is private) used in the following example:
;; this will print "*a* is nil" (binding [*a* 2] (doto (Thread. #(println "*a* is " *a*)) .start .join)) ;; HOWEVER, using binding-conveyor-fn we can make it work ;; this will print "*a* is 2" (binding [*a* 2] (doto (Thread. (#'clojure.core/binding-conveyor-fn #(println "*a* is " *a*))) .start .join)))
And if look at
future you can see that is propagates bindings automatically for you: https://github.com/clojure/clojure/blob/master/src/clj/clojure/core.clj#L6972
What I don't really get is if there's a significant difference between
Btw. this is perfectly valid discussion for #clojure - nothing off-topic.
someone asked about one of my tools to be used in eshell, but stdin behaves weird. This is a small repro:
This works in bash, but not in eshell. No clue why.
echo "1\n" | clojure -e '(str "x" (read-line) "x")'