I think this is pretty unlikely. While megarefs look very cool, I'm not
sure what the benefit to having these directly in Clojure would be over
having them in a library.

Anecdotally, everyone I have talked to about Clojure's reference types have
said that they have never needed to use ref's or agents in real world code
(I'm sure some people have to good effect though).

That being said, you can always open a JIRA or design doc about this if you
feel strongly about it to start a discussion.

--
Daniel.

On Tue, 28 Jul 2015 at 9:05 AM Lawrence Krubner <lawre...@rollioforce.com>
wrote:

> Off topic, but I wonder if there was ever any discussion of megarefs being
> added to Clojure?
>
> https://github.com/cgrand/megaref
>
>
> On Tuesday, July 21, 2015 at 3:30:46 PM UTC-4, Rangel Spasov wrote:
>>
>> Ok, I think someone already mentioned this - sorry. Got it to compile by
>> bumping to [potemkin "0.4.1"] - thanks Zach + all : )
>>
>> On Tuesday, July 21, 2015 at 12:24:43 PM UTC-7, Rangel Spasov wrote:
>>>
>>> Hey guys,
>>>
>>> Getting this error with 1.8.0-alpha2, I think related to aleph (using
>>> 0.4.0, latest version at the moment).
>>>
>>> #error {
>>>
>>>  :cause IllegalName:
>>> compile__stub.aleph.http.core.aleph.http.core/HeaderMap
>>>
>>>  :via
>>>
>>>  [{:type clojure.lang.Compiler$CompilerException
>>>
>>>    :message java.lang.NoClassDefFoundError: IllegalName:
>>> compile__stub.aleph.http.core.aleph.http.core/HeaderMap,
>>> compiling:(aleph/http/core.clj:81:1)
>>>
>>>    :at [clojure.lang.Compiler analyzeSeq Compiler.java 6798]}
>>>
>>>   {:type java.lang.NoClassDefFoundError
>>>
>>>    :message IllegalName:
>>> compile__stub.aleph.http.core.aleph.http.core/HeaderMap
>>>
>>>    :at [java.lang.ClassLoader preDefineClass ClassLoader.java 654]}]
>>>
>>>  :trace
>>>
>>>  [[java.lang.ClassLoader preDefineClass ClassLoader.java 654]
>>>
>>>   [java.lang.ClassLoader defineClass ClassLoader.java 758]
>>>
>>>   [java.lang.ClassLoader defineClass ClassLoader.java 642]
>>>
>>>   [clojure.lang.DynamicClassLoader defineClass DynamicClassLoader.java
>>> 46]
>>>
>>>   [clojure.lang.Compiler$NewInstanceExpr compileStub Compiler.java 7815]
>>>
>>>   [clojure.lang.Compiler$NewInstanceExpr build Compiler.java 7680]
>>>
>>>   [clojure.lang.Compiler$NewInstanceExpr$DeftypeParser parse
>>> Compiler.java 7590]
>>>
>>>   [clojure.lang.Compiler analyzeSeq Compiler.java 6791]
>>>
>>>   [clojure.lang.Compiler analyze Compiler.java 6592]
>>>
>>>   [clojure.lang.Compiler analyze Compiler.java 6553]
>>>
>>>   [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5929]
>>>
>>>   [clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6247]
>>>
>>>   [clojure.lang.Compiler analyzeSeq Compiler.java 6791]
>>>
>>>   [clojure.lang.Compiler analyze Compiler.java 6592]
>>>
>>>   [clojure.lang.Compiler analyze Compiler.java 6553]
>>>
>>>   [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 5929]
>>>
>>>   [clojure.lang.Compiler$FnMethod parse Compiler.java 5359]
>>>
>>>   [clojure.lang.Compiler$FnExpr parse Compiler.java 3959]
>>>
>>>   [clojure.lang.Compiler analyzeSeq Compiler.java 6789]
>>>
>>>   [clojure.lang.Compiler analyze Compiler.java 6592]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6847]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 372]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 363]
>>>
>>>   [clojure.lang.RT load RT.java 453]
>>>
>>>   [clojure.lang.RT load RT.java 419]
>>>
>>>   [clojure.core$load$fn__5448 invoke core.clj 5866]
>>>
>>>   [clojure.core$load doInvoke core.clj 5865]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [clojure.core$load_one invoke core.clj 5671]
>>>
>>>   [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
>>>
>>>   [clojure.core$load_lib doInvoke core.clj 5710]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 142]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$load_libs doInvoke core.clj 5749]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 137]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$require doInvoke core.clj 5832]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 551]
>>>
>>>   [aleph.http.server$eval9251$loading__5340__auto____9252 invoke
>>> server.clj 1]
>>>
>>>   [aleph.http.server$eval9251 invoke server.clj 1]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6850]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 372]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 363]
>>>
>>>   [clojure.lang.RT load RT.java 453]
>>>
>>>   [clojure.lang.RT load RT.java 419]
>>>
>>>   [clojure.core$load$fn__5448 invoke core.clj 5866]
>>>
>>>   [clojure.core$load doInvoke core.clj 5865]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [clojure.core$load_one invoke core.clj 5671]
>>>
>>>   [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
>>>
>>>   [clojure.core$load_lib doInvoke core.clj 5710]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 142]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$load_libs doInvoke core.clj 5753]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 137]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$require doInvoke core.clj 5832]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 457]
>>>
>>>   [aleph.http$eval1594$loading__5340__auto____1595 invoke http.clj 1]
>>>
>>>   [aleph.http$eval1594 invoke http.clj 1]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6850]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 372]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 363]
>>>
>>>   [clojure.lang.RT load RT.java 453]
>>>
>>>   [clojure.lang.RT load RT.java 419]
>>>
>>>   [clojure.core$load$fn__5448 invoke core.clj 5866]
>>>
>>>   [clojure.core$load doInvoke core.clj 5865]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [clojure.core$load_one invoke core.clj 5671]
>>>
>>>   [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
>>>
>>>   [clojure.core$load_lib doInvoke core.clj 5710]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 142]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$load_libs doInvoke core.clj 5749]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 137]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$require doInvoke core.clj 5832]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 1789]
>>>
>>>   [cloud_monkey.aleph_netty$eval1588$loading__5340__auto____1589 invoke
>>> aleph_netty.clj 1]
>>>
>>>   [cloud_monkey.aleph_netty$eval1588 invoke aleph_netty.clj 1]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6850]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 372]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 363]
>>>
>>>   [clojure.lang.RT load RT.java 453]
>>>
>>>   [clojure.lang.RT load RT.java 419]
>>>
>>>   [clojure.core$load$fn__5448 invoke core.clj 5866]
>>>
>>>   [clojure.core$load doInvoke core.clj 5865]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [clojure.core$load_one invoke core.clj 5671]
>>>
>>>   [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
>>>
>>>   [clojure.core$load_lib doInvoke core.clj 5710]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 142]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$load_libs doInvoke core.clj 5749]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 137]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$require doInvoke core.clj 5832]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 512]
>>>
>>>   [cloud_monkey.core$eval14$loading__5340__auto____15 invoke core.clj 1]
>>>
>>>   [cloud_monkey.core$eval14 invoke core.clj 1]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6850]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 372]
>>>
>>>   [clojure.lang.RT loadResourceScript RT.java 363]
>>>
>>>   [clojure.lang.RT load RT.java 453]
>>>
>>>   [clojure.lang.RT load RT.java 419]
>>>
>>>   [clojure.core$load$fn__5448 invoke core.clj 5866]
>>>
>>>   [clojure.core$load doInvoke core.clj 5865]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [clojure.core$load_one invoke core.clj 5671]
>>>
>>>   [clojure.core$load_lib$fn__5397 invoke core.clj 5711]
>>>
>>>   [clojure.core$load_lib doInvoke core.clj 5710]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 142]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$load_libs doInvoke core.clj 5749]
>>>
>>>   [clojure.lang.RestFn applyTo RestFn.java 137]
>>>
>>>   [clojure.core$apply invoke core.clj 632]
>>>
>>>   [clojure.core$require doInvoke core.clj 5832]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 408]
>>>
>>>   [user$eval5 invoke form-init1994735649128181545.clj 1]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6850]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler eval Compiler.java 6839]
>>>
>>>   [clojure.lang.Compiler load Compiler.java 7295]
>>>
>>>   [clojure.lang.Compiler loadFile Compiler.java 7233]
>>>
>>>   [clojure.main$load_script invoke main.clj 275]
>>>
>>>   [clojure.main$init_opt invoke main.clj 280]
>>>
>>>   [clojure.main$initialize invoke main.clj 308]
>>>
>>>   [clojure.main$null_opt invoke main.clj 343]
>>>
>>>   [clojure.main$main doInvoke main.clj 421]
>>>
>>>   [clojure.lang.RestFn invoke RestFn.java 421]
>>>
>>>   [clojure.lang.Var invoke Var.java 383]
>>>
>>>   [clojure.lang.AFn applyToHelper AFn.java 156]
>>>
>>>   [clojure.lang.Var applyTo Var.java 700]
>>>
>>>   [clojure.main main main.java 37]]}
>>>
>>>
>>> @raspasov
>>>
>>> On Saturday, July 18, 2015 at 6:12:12 AM UTC-7, Alex Miller wrote:
>>>>
>>>> Clojure 1.8.0-alpha1 and 1.8.0-alpha2 are now available.
>>>>
>>>> Try it via
>>>> - Download:
>>>> https://repo1.maven.org/maven2/org/clojure/clojure/1.8.0-alpha2
>>>> - Leiningen: [org.clojure/clojure "1.8.0-alpha2"]
>>>>
>>>> 1.8.0-alpha1 includes support for tuples (optimized small vectors)
>>>> inspired by Zach Tellman's work.
>>>>
>>>> 1.8.0-alpha2 has an additional set of bug fixes and enhancements:
>>>>
>>>> CLJ-703 Improve writeClassFile performance
>>>> CLJ-1659 compile leaks files
>>>> CLJ-1761 clojure.core/run! does not always return nil
>>>> CLJ-1645 'javap -v' on protocol class reveals no source file
>>>> CLJ-1644 into-array fails for sequences starting with nil
>>>> CLJ-1588 StackOverflow in clojure.test macroexpand with `are` and
>>>> anonymous `fn`
>>>> CLJ-1565 pprint issues infinite output for a protocol
>>>> CLJ-1562 some->,some->>,cond->,cond->> and as-> doesn't work with
>>>> (recur)
>>>> CLJ-1533 Oddity in type tag usage for primInvoke
>>>> CLJ-1528 clojure.test/inc-report-counter is not thread safe
>>>> CLJ-1399 missing field munging when recreating deftypes serialized into
>>>> byte code
>>>> CLJ-1313 Correct a few unit tests
>>>> CLJ-1250 Reducer (and folder) instances hold onto the head of seqs
>>>> CLJ-1208 Namespace is not loaded on defrecord class init
>>>>
>>>> Our current plans for 1.8 are to feature freeze on October 1st
>>>> (typically that is beta 1) and then work through a release in time for the
>>>> Clojure/Conj in late November. We expect 1.8 to include the Socket Server
>>>> REPL work (http://dev.clojure.org/display/design/Socket+Server+REPL)
>>>> and possibly other things to be determined.
>>>>
>>>> - Alex
>>>>
>>>  --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> 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 clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>
-- 
--
Daniel

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
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 clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to