This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-08-08
Channels
- # architecture (8)
- # beginners (78)
- # boot (20)
- # cider (81)
- # clara (53)
- # cljdoc (10)
- # cljsjs (3)
- # clojure (55)
- # clojure-boston (1)
- # clojure-dev (25)
- # clojure-nl (3)
- # clojure-uk (65)
- # clojurescript (65)
- # core-async (1)
- # cursive (41)
- # data-science (4)
- # datomic (16)
- # editors (74)
- # emacs (17)
- # events (1)
- # figwheel (3)
- # hyperfiddle (39)
- # immutant (16)
- # jobs-discuss (62)
- # juxt (2)
- # keechma (2)
- # leiningen (6)
- # mount (7)
- # nrepl (1)
- # off-topic (30)
- # onyx (14)
- # protorepl (2)
- # re-frame (4)
- # reagent (15)
- # reitit (19)
- # shadow-cljs (102)
- # sim-testing (1)
- # spacemacs (44)
- # specter (15)
- # tools-deps (50)
- # vim (2)
@seancorfield I know you volunteered to maintain some Clojure contrib projects a while back (cool, and thanks). Did you by any chance change the "Project lead" in JIRA for those projects to point at you, instead of the original lead? I ask just because then it will be clearer which projects others should bug you about 🙂
Trigger for this question: I saw a Github issue with a recent ping for update for the algo.generic lib. Not sure if Konrad Hinsen is still interested in examining issues there. https://github.com/clojure/algo.generic/pull/4#issuecomment-411517013
@andy.fingerhut What page in JIRA are you referring to?
If you mean Confluence, I guess I could go change any that are wrong. If you actually mean JIRA, I believe only @alexmiller can update that?
I did update jira for Sean when he took over projects recently
And build box
If you see something wrong somewhere let me know
It was this "View All Projects" page, and the "Project Lead" property of the existing projects: https://dev.clojure.org/jira/secure/BrowseProjects.jspa#all Thanks, Alex. I do not see any that I know to be wrong.
Has anyone seen http://mydailyjava.blogspot.com/2018/08/hands-on-constantdynamic-class-file.html?
> As the most obvious use case, dynamic constants can be used to properly implement lazy values. Lazy values are typically used to represent expensive objects only on-demand when they are used. As of today, lazy values are often implemented by using so-called double checked locking, a pattern that is for example implemented by the scalac compiler for its lazy keyword
Is this something that Clojure might be able to take advantage of?
I have a branch that does constantdynamic in the compiler @danielcompton
It should help with class initialization time (making AOT startup faster), but there are a couple kinks to work out.
Does it have an impact on lazy sequence type things?
no, it makes one time class initialization faster.
When you compile a function or namespace, some constants (vars, vectors, maps) are in the static initialization block <clinit>
condy allows those things (vars, keywords) to be constructed when they're needed -- AKA later than startup, when the functions are called
(defn outer
[]
:these [:constants :are] :lazy
(fn inner []))
the load of the class file for inner
can be delayed until you call outer
for the first time. Same with the keywords and the vector