Re: [ANN] 1.10.0-beta5
Thanks Andy! I'd be curious to see what reflection errors you're talking about in clojure.main just to make sure I understand the difference. On Thursday, November 15, 2018 at 12:32:20 AM UTC-6, Andy Fingerhut wrote: > > I have run versions 0.2.6 and 0.3.3 of the Eastwood Clojure lint tool on > 84 projects in its "crucible" set of projects that we use for testing > Eastwood. You can find the list at [2]. > > I tried comparing the output for these pairs of version combinations of > (Eastwood version, Clojure version, JDK version): > > (0.2.6, 1.9.0, Oracle 1.8.0_192) compared with (0.2.6, 1.10.0-beta5, > Oracle 1.8.0_192) > (0.2.6, 1.9.0, OpenJDK 11.0.1) compared with (0.2.6, 1.10.0-beta5, OpenJDK > 11.0.1) > (0.3.3, 1.9.0, Oracle 1.8.0_192) compared with (0.3.3, 1.10.0-beta5, > Oracle 1.8.0_192) > (0.3.3, 1.9.0, OpenJDK 11.0.1) compared with (0.3.3, 1.10.0-beta5, OpenJDK > 11.0.1) > > All test runs were run on an Ubuntu Linux 18.04.1 system in a VM on my > Intel x86_64 based Mac laptop. > > The only differences I found were: > > + differing line numbers of Clojure source code that appeared in stack > traces, which is expected in a new Clojure release > + fewer deprecation warnings when linting Clojure namespace > clojure.java.browse-ui, because of intentional changes made for Clojure > 1.10.0 to eliminate the use of deprecated APIs [3] > + a couple of reflection warnings present in namespace clojure.main are > gone. There was no change in the Java interop calls, so perhaps this is > because of changes made in how the Clojure compiler resolves Java method > calls. > > I didn't see anything more than 3 to 4 percent difference in run times > across all of the version combinations above. > > Andy > > [1] https://github.com/jonase/eastwood > [2] > https://github.com/jonase/eastwood/tree/master/crucible/project-clj-files > [3] > https://github.com/clojure/clojure/commit/fb916808669ef65dce5dfe58e23d4a902253ca55 > -- 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.
Re: [ANN] 1.10.0-beta5
Understood. I am curious, too, and will reply to this email thread if I get more details in a coherent form. The main reason for taking more time here is that it is possible that Eastwood-generated reflection warnings are different than the reflection warnings without Eastwood -- Eastwood reads, analyzes with tools.analyzer.jvm, emits new forms, and then evals those. tools.analyzer.jvm _might_ be causing the emitted code to generate different reflection warnings than Clojure would on the original code. Probably the quickest way for me to double-check is just to stick a (set! *warn-on-reflection* true) at the beginning of clojure/main.clj source file for Clojure 1.9.0 and 1.10.0-beta5 and compare the output there. If those are identical/similar-enough, then it is tools.analyzer.jvm or something else in Eastwood causing the different reflection warnings. Andy On Thu, Nov 15, 2018 at 6:07 AM Alex Miller wrote: > Thanks Andy! > > I'd be curious to see what reflection errors you're talking about in > clojure.main just to make sure I understand the difference. > > > On Thursday, November 15, 2018 at 12:32:20 AM UTC-6, Andy Fingerhut wrote: >> >> I have run versions 0.2.6 and 0.3.3 of the Eastwood Clojure lint tool on >> 84 projects in its "crucible" set of projects that we use for testing >> Eastwood. You can find the list at [2]. >> >> I tried comparing the output for these pairs of version combinations of >> (Eastwood version, Clojure version, JDK version): >> >> (0.2.6, 1.9.0, Oracle 1.8.0_192) compared with (0.2.6, 1.10.0-beta5, >> Oracle 1.8.0_192) >> (0.2.6, 1.9.0, OpenJDK 11.0.1) compared with (0.2.6, 1.10.0-beta5, >> OpenJDK 11.0.1) >> (0.3.3, 1.9.0, Oracle 1.8.0_192) compared with (0.3.3, 1.10.0-beta5, >> Oracle 1.8.0_192) >> (0.3.3, 1.9.0, OpenJDK 11.0.1) compared with (0.3.3, 1.10.0-beta5, >> OpenJDK 11.0.1) >> >> All test runs were run on an Ubuntu Linux 18.04.1 system in a VM on my >> Intel x86_64 based Mac laptop. >> >> The only differences I found were: >> >> + differing line numbers of Clojure source code that appeared in stack >> traces, which is expected in a new Clojure release >> + fewer deprecation warnings when linting Clojure namespace >> clojure.java.browse-ui, because of intentional changes made for Clojure >> 1.10.0 to eliminate the use of deprecated APIs [3] >> + a couple of reflection warnings present in namespace clojure.main are >> gone. There was no change in the Java interop calls, so perhaps this is >> because of changes made in how the Clojure compiler resolves Java method >> calls. >> >> I didn't see anything more than 3 to 4 percent difference in run times >> across all of the version combinations above. >> >> Andy >> >> [1] https://github.com/jonase/eastwood >> [2] >> https://github.com/jonase/eastwood/tree/master/crucible/project-clj-files >> [3] >> https://github.com/clojure/clojure/commit/fb916808669ef65dce5dfe58e23d4a902253ca55 >> > -- > 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. > -- 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.
Re: [ANN] 1.10.0-beta5
I looked at current version of main and found some unintentional reflection in new code and expect that to be fixed for next beta. There is also some intended reflection in there, based on the docstrings so I left that there. On Thu, Nov 15, 2018 at 1:04 PM Andy Fingerhut wrote: > Understood. I am curious, too, and will reply to this email thread if I > get more details in a coherent form. > > The main reason for taking more time here is that it is possible that > Eastwood-generated reflection warnings are different than the reflection > warnings without Eastwood -- Eastwood reads, analyzes with > tools.analyzer.jvm, emits new forms, and then evals those. > tools.analyzer.jvm _might_ be causing the emitted code to generate > different reflection warnings than Clojure would on the original code. > > Probably the quickest way for me to double-check is just to stick a (set! > *warn-on-reflection* true) at the beginning of clojure/main.clj source file > for Clojure 1.9.0 and 1.10.0-beta5 and compare the output there. If those > are identical/similar-enough, then it is tools.analyzer.jvm or something > else in Eastwood causing the different reflection warnings. > > Andy > > -- 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.
Re: Who Uses import-vars?
So is there another way then using import-vars tp break up an existing package into many new small ones? -- 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.
[ANN] com.vodori/reactors 0.1.0
Vodori released [com.vodori/reactors "0.1.0"]. It’s our take on a reactive store (events/reducers/subscribers) atop clojure agents with event producers and subscribers expressed as core.async channels. As an example, we use it with database change streams as our event producers and websockets as our subscribers to provide live collaboration between users annotating files. https://github.com/vodori/reactors Cheers! -- 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.
Re: [ANN] 1.10.0-beta5
Great, sounds like you are on top of it. I tried compiling Clojure 1.9.0 and 1.10.0-beta5 with a line (set! *warn-on-reflection* true) in the src/clj/clojure/main.clj source file of both, and the reflection warnings appear to be different from each other when building Clojure, in a similar way to how they are different when running Eastwood on that namespace of those two different versions, and the differences in the reflection warnings don't surprise me at all given the code changes there. Andy On Thu, Nov 15, 2018 at 1:12 PM Alex Miller wrote: > I looked at current version of main and found some unintentional > reflection in new code and expect that to be fixed for next beta. There is > also some intended reflection in there, based on the docstrings so I left > that there. > > On Thu, Nov 15, 2018 at 1:04 PM Andy Fingerhut > wrote: > >> Understood. I am curious, too, and will reply to this email thread if I >> get more details in a coherent form. >> >> The main reason for taking more time here is that it is possible that >> Eastwood-generated reflection warnings are different than the reflection >> warnings without Eastwood -- Eastwood reads, analyzes with >> tools.analyzer.jvm, emits new forms, and then evals those. >> tools.analyzer.jvm _might_ be causing the emitted code to generate >> different reflection warnings than Clojure would on the original code. >> >> Probably the quickest way for me to double-check is just to stick a (set! >> *warn-on-reflection* true) at the beginning of clojure/main.clj source file >> for Clojure 1.9.0 and 1.10.0-beta5 and compare the output there. If those >> are identical/similar-enough, then it is tools.analyzer.jvm or something >> else in Eastwood causing the different reflection warnings. >> >> Andy >> >> -- > 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. > -- 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.