Hi,
I don't think it is the right way to use interfaces in clojure. Take a look at
this and
this.
You could create a java project with the interfaces you need and import that instead.
I think the issue is that this setup requires AOT and it might be missing from your configuration.
To fix it try adding this to project.clj file:
:profiles {:dev {:aot [ie4clj.api]}}
It can be tricky If you want to do
lein uberjar and generate a jar file.
Alternatively, you can use
compile-files (then you don't need import statement).
(note that in your gist you had some errors when defining AndList, I've fixed it)
(also take a look at the
clojure style guide, as AndList is not really the way to name things in clojure )) )
(ns ie4clj.api)
(definterface Inferrable
(^boolean eval [])
(^boolean evalMembers [members]))
(ns ie4clj.AndList)
(when *compile-files*
(require 'ie4clj.api))
(def AndList
(reify
ie4clj.api.Inferrable
(eval [_] true)
(evalMembers [_ m] true)))
Hope this helps,