> > (ns ... (require ...) (import ...) ) instead of (ns ... (:require ...) > (:import ...) )
Is this not intended to be allowed? The docstring implies no but it has always worked fine - I wouldn't call the code broken. Does the spec also limit the refs to refer-clojure/require/use/import/load/gen-class rather than allowing, say, println? One not on that list that I have seen people using in the wild is refer. On 20 August 2016 at 06:35, Alex Miller <a...@puredanger.com> wrote: > One thing to note is that the new specs for clojure.core means that there > is a reasonable amount of (broken) code in the wild that now does not > compile. > > I have filed PRs in a number of commonly used projects and while those > were all merged, most have not yet been released into new versions yet. Any > project that uses any of those projects via dependencies will also have > issues. So, expect to see some breakage if using the latest alpha. In > particular, ClojureScript itself had a bad ns declaration through version > 1.9.93 so anything not on a fresh CLJS will likely see that. > > The three most common things I saw were: > > 1. (ns ... (require ...) (import ...) ) instead of (ns ... (:require ...) > (:import ...) ) > > 2. (fn a.b [] ...) - fully-qualified symbol names in fn (these are pretty > much always the result of a sloppy macro that expands to fn) > > 3. (let [{ ... :or {:a 1}} {}] ... ) - :or keys that are not simple > symbols. There were some accidental cases where this did something for > fully-qualified keyword keys in the past, but those were not intended and > are no longer accepted as of Clojure 1.9.0-alpha8. All of the cases I found > were actually typos though where the keyword was used instead of the symbol. > > > > > On Friday, August 19, 2016 at 1:15:06 PM UTC-5, Alex Miller wrote: >> >> Clojure 1.9.0-alpha11 is now available. >> >> Try it via >> >> - Download: https://repo1.maven.org/maven2/org/clojure/clojure/1.9.0- >> alpha11 >> - Leiningen: [org.clojure/clojure "1.9.0-alpha11"] >> >> 1.9.0-alpha11 includes the following changes since 1.9.0-alpha10: >> >> Clojure now has specs for the following clojure.core macros: let, if-let, >> when-let, defn, defn-, fn, and ns. Because macro specs are checked during >> macroexpansion invalid syntax in these macros will now fail at compile time >> whereas some errors were caught at runtime and some were not caught at all. >> >> - CLJ-1914 - Fixed race condition in concurrent range realization >> - CLJ-1870 - Fixed reloading a defmulti removes metadata on the var >> - CLJ-1744 - Clear unused locals, which can prevent memory leaks in some >> cases >> - CLJ-1423 - Allow vars to be invoked with infinite arglists (also, >> faster) >> - CLJ-1993 - Added *print-namespace-maps* dynamic var that controls >> whether to use namespace map syntax for maps with keys from the same >> namespace. The default is false, but standard REPL bindings set this to >> true. >> - CLJ-1985 - Fixed with-gen of conformer losing unform fn >> - Fixed clojure.spec.test/check to skip spec'ed macros >> - Fixed regression from 1.9.0-alpha8 where type hints within >> destructuring were lost >> - Fixed clojure.spec/merge docstring to note merge doesn't flow conformed >> values >> - Fixed regex ops to use gen overrides if they are used >> > -- > 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.