Sean - thanks for the detailed explanation. I will try to investigate if nobody has any other ideas.
On Wednesday, June 8, 2016 at 4:15:05 PM UTC-7, Sean Corfield wrote: > > I ran into this same problem with Encore but found it very, very hard to > repro in a simple project. > > > > The underlying issue is that clojure.tools.analyzer.utils defines boolean? > but doesn’t exclude core’s version (since it’s new in Alpha 5 and libraries > haven’t caught up). That normally wouldn’t be a problem: you’d get a > warning, the function would be defined anyway, and life moves on. > > > > What seems to be happening – in circumstances that I don’t yet understand > – is that through some compilation path down the line from that point, you > end up with a version of that namespace in memory that _*does not have > the definition*_ of the function. > > > > For me it was bytes? which was defined in Encore and the call failed in > Nippy. That was a cljx project that had the defn of bytes? inside a (do …) > with several other definitions. Lifting the defn up out of the do solved > the problem. So did adding a refer-clojure/exclude declaration. However, I > couldn’t reproduce the defn-in-do behavior in the REPL or in a simple > project. The problem you’re seeing is different insofar as the defn is > already at the top level but similar otherwise (and follows a dynamic > compilation path where manifold.stream requires another namespace at load > time, depending on whether core.async is available). > > > > As I said on Slack, this feels like a compiler bug to me: having a > conflict with a clojure.core function should not lead to that function > definition (silently) being ignored in some namespace. > > > > Sean Corfield -- (904) 302-SEAN > An Architect's View -- http://corfield.org/ > > "If you're not annoying somebody, you're not really alive." > -- Margaret Atwood > > > > On 6/8/16, 3:13 PM, "Rangel Spasov" <clo...@googlegroups.com <javascript:> > on behalf of rasp...@gmail.com <javascript:>> wrote: > > > > Hey guys - getting this compiler exception when I tried alpha 5 (up to > alpha 4 it was all good). > > > > WARNING: boolean? already refers to: #'clojure.core/boolean? in namespace: > clojure.tools.analyzer.utils, being replaced by: > #'clojure.tools.analyzer.utils/boolean? > > WARNING: boolean? already refers to: #'clojure.core/boolean? in namespace: > clojure.tools.analyzer, being replaced by: > #'clojure.tools.analyzer.utils/boolean? > > #error { > > :cause Attempting to call unbound fn: > #'clojure.tools.analyzer.utils/boolean? > > :via > > [{:type clojure.lang.Compiler$CompilerException > > :message java.lang.IllegalStateException: Attempting to call unbound > fn: #'clojure.tools.analyzer.utils/boolean?, > compiling:(manifold/stream/async.clj:62:16) > > :at [clojure.lang.Compiler analyzeSeq Compiler.java 6890]} > > {:type java.lang.IllegalStateException > > :message Attempting to call unbound fn: > #'clojure.tools.analyzer.utils/boolean? > > :at [clojure.lang.Var$Unbound throwArity Var.java 43]}] > > :trace > > [[clojure.lang.Var$Unbound throwArity Var.java 43] > > [clojure.lang.AFn invoke AFn.java 32] > > [clojure.tools.analyzer.utils$classify invoke utils.clj 106] > > [clojure.tools.analyzer$analyze_const doInvoke analyzer.clj 167] > > [clojure.lang.RestFn invoke RestFn.java 425] > > [clojure.tools.analyzer$fn__563 invoke analyzer.clj 86] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_in_env$fn__567 invoke analyzer.clj 127] > > [clojure.core$mapv$fn__8938 invoke core.clj 6758] > > [clojure.core.protocols$fn__8715 invokeStatic protocols.clj 167] > > [clojure.core.protocols$fn__8715 invoke protocols.clj 124] > > [clojure.core.protocols$fn__8670$G__8665__8679 invoke protocols.clj 19] > > [clojure.core.protocols$seq_reduce invokeStatic protocols.clj 31] > > [clojure.core.protocols$fn__8696 invokeStatic protocols.clj 75] > > [clojure.core.protocols$fn__8696 invoke protocols.clj 75] > > [clojure.core.protocols$fn__8644$G__8639__8657 invoke protocols.clj 13] > > [clojure.core$reduce invokeStatic core.clj 6676] > > [clojure.core$mapv invokeStatic core.clj 6749] > > [clojure.core$mapv invoke core.clj 6749] > > [clojure.tools.analyzer$parse_invoke invoke analyzer.clj 781] > > [clojure.tools.analyzer$_parse invoke analyzer.clj 809] > > [clojure.tools.analyzer.jvm$parse invoke jvm.clj 383] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 271] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_let invoke analyzer.clj 503] > > [clojure.tools.analyzer$parse_let_STAR_ invoke analyzer.clj 528] > > [clojure.tools.analyzer$_parse invoke analyzer.clj 809] > > [clojure.tools.analyzer.jvm$parse invoke jvm.clj 383] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 271] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 272] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 272] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_let invoke analyzer.clj 503] > > [clojure.tools.analyzer$parse_let_STAR_ invoke analyzer.clj 528] > > [clojure.tools.analyzer$_parse invoke analyzer.clj 809] > > [clojure.tools.analyzer.jvm$parse invoke jvm.clj 383] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 271] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 272] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$parse_do invoke analyzer.clj 284] > > [clojure.tools.analyzer$_parse invoke analyzer.clj 809] > > [clojure.tools.analyzer.jvm$parse invoke jvm.clj 383] > > [clojure.tools.analyzer$analyze_seq invoke analyzer.clj 271] > > [clojure.tools.analyzer$fn__556 invoke analyzer.clj 63] > > [clojure.lang.MultiFn invoke MultiFn.java 233] > > [clojure.tools.analyzer$analyze invoke analyzer.clj 115] > > [clojure.tools.analyzer.jvm$analyze$fn__3425 invoke jvm.clj 469] > > [clojure.lang.AFn applyToHelper AFn.java 152] > > [clojure.lang.AFn applyTo AFn.java 144] > > [clojure.core$apply invokeStatic core.clj 651] > > [clojure.core$with_bindings_STAR_ invokeStatic core.clj 1953] > > [clojure.core$with_bindings_STAR_ doInvoke core.clj 1953] > > [clojure.lang.RestFn invoke RestFn.java 425] > > [clojure.tools.analyzer.jvm$analyze invoke jvm.clj 456] > > [clojure.core.async.impl.ioc_macros$state_machine invoke ioc_macros.clj > 1109] > > [clojure.core.async$go doInvoke async.clj 413] > > [clojure.lang.RestFn invoke RestFn.java 442] > > [clojure.lang.Var invoke Var.java 388] > > [clojure.lang.AFn applyToHelper AFn.java 160] > > [clojure.lang.Var applyTo Var.java 700] > > [clojure.lang.Compiler macroexpand1 Compiler.java 6792] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6869] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyze Compiler.java 6625] > > [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 6001] > > [clojure.lang.Compiler$FnMethod parse Compiler.java 5380] > > [clojure.lang.Compiler$FnExpr parse Compiler.java 3972] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6881] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6871] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler access$300 Compiler.java 38] > > [clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6269] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6883] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6871] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyze Compiler.java 6625] > > [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 6001] > > [clojure.lang.Compiler$NewInstanceMethod parse Compiler.java 8277] > > [clojure.lang.Compiler$NewInstanceExpr build Compiler.java 7813] > > [clojure.lang.Compiler$NewInstanceExpr$DeftypeParser parse Compiler.java > 7693] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6883] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyze Compiler.java 6625] > > [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 6001] > > [clojure.lang.Compiler$LetExpr$Parser parse Compiler.java 6319] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6883] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler analyze Compiler.java 6625] > > [clojure.lang.Compiler$BodyExpr$Parser parse Compiler.java 6001] > > [clojure.lang.Compiler$FnMethod parse Compiler.java 5380] > > [clojure.lang.Compiler$FnExpr parse Compiler.java 3972] > > [clojure.lang.Compiler analyzeSeq Compiler.java 6881] > > [clojure.lang.Compiler analyze Compiler.java 6669] > > [clojure.lang.Compiler eval Compiler.java 6939] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [manifold.stream$eval6935 invokeStatic stream.clj 46] > > [manifold.stream$eval6935 invoke stream.clj 46] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6932] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 551] > > [aleph.http.core$eval6275$loading__7338__auto____6276 invoke core.clj 1] > > [aleph.http.core$eval6275 invokeStatic core.clj 1] > > [aleph.http.core$eval6275 invoke core.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 551] > > [aleph.http.server$eval6269$loading__7338__auto____6270 invoke > server.clj 1] > > [aleph.http.server$eval6269 invokeStatic server.clj 1] > > [aleph.http.server$eval6269 invoke server.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5871] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 457] > > [aleph.http$eval4940$loading__7338__auto____4941 invoke http.clj 1] > > [aleph.http$eval4940 invokeStatic http.clj 1] > > [aleph.http$eval4940 invoke http.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 551] > > [hush.auth$eval4934$loading__7338__auto____4935 invoke auth.clj 1] > > [hush.auth$eval4934 invokeStatic auth.clj 1] > > [hush.auth$eval4934 invoke auth.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 619] > > [hush.stripe$eval417$loading__7338__auto____418 invoke stripe.clj 1] > > [hush.stripe$eval417 invokeStatic stripe.clj 1] > > [hush.stripe$eval417 invoke stripe.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 3204] > > [hush.aleph_netty$eval411$loading__7338__auto____412 invoke > aleph_netty.clj 1] > > [hush.aleph_netty$eval411 invokeStatic aleph_netty.clj 1] > > [hush.aleph_netty$eval411 invoke aleph_netty.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 1789] > > [hush.app$eval20$loading__7338__auto____21 invoke app.clj 1] > > [hush.app$eval20 invokeStatic app.clj 1] > > [hush.app$eval20 invoke app.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 421] > > [hush.core$eval14$loading__7338__auto____15 invoke core.clj 1] > > [hush.core$eval14 invokeStatic core.clj 1] > > [hush.core$eval14 invoke core.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [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__7452 invoke core.clj 5986] > > [clojure.core$load invokeStatic core.clj 5985] > > [clojure.core$load doInvoke core.clj 5969] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [clojure.core$load_one invokeStatic core.clj 5790] > > [clojure.core$load_one invoke core.clj 5785] > > [clojure.core$load_lib$fn__7397 invoke core.clj 5830] > > [clojure.core$load_lib invokeStatic core.clj 5829] > > [clojure.core$load_lib doInvoke core.clj 5810] > > [clojure.lang.RestFn applyTo RestFn.java 142] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$load_libs invokeStatic core.clj 5867] > > [clojure.core$load_libs doInvoke core.clj 5851] > > [clojure.lang.RestFn applyTo RestFn.java 137] > > [clojure.core$apply invokeStatic core.clj 653] > > [clojure.core$require invokeStatic core.clj 5889] > > [clojure.core$require doInvoke core.clj 5889] > > [clojure.lang.RestFn invoke RestFn.java 408] > > [user$eval5 invokeStatic form-init5417966903061676030.clj 1] > > [user$eval5 invoke form-init5417966903061676030.clj 1] > > [clojure.lang.Compiler eval Compiler.java 6942] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler eval Compiler.java 6931] > > [clojure.lang.Compiler load Compiler.java 7394] > > [clojure.lang.Compiler loadFile Compiler.java 7332] > > [clojure.main$load_script invokeStatic main.clj 275] > > [clojure.main$init_opt invokeStatic main.clj 277] > > [clojure.main$init_opt invoke main.clj 277] > > [clojure.main$initialize invokeStatic main.clj 308] > > [clojure.main$null_opt invokeStatic main.clj 342] > > [clojure.main$null_opt invoke main.clj 339] > > [clojure.main$main invokeStatic main.clj 421] > > [clojure.main$main doInvoke main.clj 384] > > [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]]} > > > On Tuesday, June 7, 2016 at 10:38:34 AM UTC-7, Alex Miller wrote: > > Clojure 1.9.0-alpha5 is now available. > > > > Try it via > > > > - Download: > https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0-alpha5 > <https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0-alpha5> > > - Leiningen: [org.clojure/clojure "1.9.0-alpha5"] > > > > 1.9.0-alpha4 includes the following changes since 1.9.0-alpha4: > > > > Fixes: > > - doc was printing "Spec" when none existed > > - fix ? explain > > > > New predicates in core (all also now have built-in generator support in > spec): > > - seqable? > > - boolean? > > - long?, pos-long?, neg-long?, nat-long? > > - double?, bigdec? > > - ident?, simple-ident?, qualified-ident? > > - simple-symbol?, qualified-symbol? > > - simple-keyword?, qualified-keyword? > > - bytes? (for byte[]) > > - indexed? > > - inst? (and new inst-ms) > > - uuid? > > - uri? > > > > New in spec: > > - unform - given a spec and a conformed value, returns the unconformed > value > > - New preds: long-in-range?, inst-in-range? > > - New specs (with gen support): long-in, inst-in, double-in > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clo...@googlegroups.com <javascript:> > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+u...@googlegroups.com <javascript:> > 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+u...@googlegroups.com <javascript:>. > For more options, visit https://groups.google.com/d/optout. > > -- 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.