This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-09-01
Channels
- # 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
(hence my caveat @alexmiller)
thanks @seancorfield -- the view of possibilties was interesting for sure. also hadn't see this nice section: https://clojure.org/dev/dev#_roadmap 🙂
@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.
is this the aliasing ticket? https://clojure.atlassian.net/browse/CLJ-2123
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.
It will definitely save us some duplication and "hacking".
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 bound-fn
and binding-conveyor-fn
.
Btw. this is perfectly valid discussion for #clojure - nothing off-topic.