You'll need to update your version of Instaparse as well.
This issue comes because Instaparse has a function called "cat" in one of
its namespaces, and Clojure 1.7 introduces a function call "cat" in the
core namespace. Clojure's delivers a warning when you override a function a
function from another namespace.
For example, I could have a namespace like:
(ns example.core)
(defn cat [x]
(str x " says meow"))
This would work fine on earlier versions of Clojure, but from 1.7 onward,
Clojure would complain because "example.core/cat" conflicts with
"clojure.core/cat". To fix this, I can add in:
(ns example.core
(:refer-clojure :exclude [cat]))
(defn cat [x]
(str x " says meow"))
This namespace will load without errors, because we're explicitly told
Clojure we don't want to refer to clojure.core/cat in the current namespace.
Later versions of Instaparse add this exclusion in, fixing the warning.
- James
On 13 July 2016 at 12:32, Cecil Westerhof <[email protected]> wrote:
> I want to pick up Clojure again. One of the things I wanted to do is to
> let a program I have written use 1.8.0 instead of 1.6.0. But when doing
> this I get:
> WARNING: cat already refers to: #'clojure.core/cat in namespace:
> instaparse.combinators-source, being replaced by:
> #'instaparse.combinators-source/cat
> WARNING: cat already refers to: #'clojure.core/cat in namespace:
> instaparse.cfg, being replaced by: #'instaparse.combinators-source/cat
> Exception in thread "main" java.lang.ExceptionInInitializerError,
> compiling:(/tmp/form-init8045821108216466181.clj:1:90)
> at clojure.lang.Compiler.load(Compiler.java:7239)
> at clojure.lang.Compiler.loadFile(Compiler.java:7165)
> at clojure.main$load_script.invoke(main.clj:275)
> at clojure.main$init_opt.invoke(main.clj:280)
> at clojure.main$initialize.invoke(main.clj:308)
> at clojure.main$null_opt.invoke(main.clj:343)
> at clojure.main$main.doInvoke(main.clj:421)
> at clojure.lang.RestFn.invoke(RestFn.java:421)
> at clojure.lang.Var.invoke(Var.java:383)
> at clojure.lang.AFn.applyToHelper(AFn.java:156)
> at clojure.lang.Var.applyTo(Var.java:700)
> at clojure.main.main(main.java:37)
> Caused by: java.lang.ExceptionInInitializerError
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:348)
> at clojure.lang.RT.classForName(RT.java:2154)
> at clojure.lang.RT.classForName(RT.java:2163)
> at clojure.lang.RT.loadClassForName(RT.java:2182)
> at clojure.lang.RT.load(RT.java:436)
> at clojure.lang.RT.load(RT.java:412)
>
> What could be the reason for this?
>
>
> Also: is there a way to signify latest stable version? Because when you
> use:
> :dependencies [[org.clojure/clojure "LATEST"]
> it wants to work with:
> clojure-1.9.0-alpha10
>
>
>
> --
> Cecil Westerhof
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected].
> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.