It looks like the problem is with the macro -inc. It should quote the internal fn name so that it stays an unqualified symbol during macro expansion. I need to test this a bit as I’m not familiar with this code. I’ll make a patch soon if David doesn’t fix it first.
By the way, spec pointed me to the right place, but I didn’t see the problem at first. Maybe the spec needs to be improved here to test the internal name. I’ll have to look at that later. If you just want to get going, here the quick fix... diff --git a/src/main/clojure/clojure/core/logic.clj b/src/main/clojure/clojure/core/logic.clj index 3e98397..2dcb818 100644 --- a/src/main/clojure/clojure/core/logic.clj +++ b/src/main/clojure/clojure/core/logic.clj @@ -1075,7 +1075,7 @@ `(mplus ~e (fn [] (mplus* ~@e-rest))))) (defmacro -inc [& rest] - `(fn -inc [] ~@rest)) + `(fn ~'-inc [] ~@rest)) On Tuesday, September 13, 2016 at 3:45:18 AM UTC-4, Burt wrote: > > Hi, > > with "1.9.0-alpha10" and core.logic "0.8.10": > > (ns lwb.nd.rules > (:refer-clojure :exclude [==]) > (:require [clojure.core.logic :refer :all])) > => nil > > with "1.9.0-alpha12" and core.logic "0.8.10": > > (ns lwb.nd.rules > (:refer-clojure :exclude [==]) > (:require [clojure.core.logic :refer :all])) > CompilerException clojure.lang.ExceptionInfo: Call to clojure.core/fn did > not conform to spec: > In: [0] val: clojure.core.logic/-inc fails spec: > :clojure.core.specs/arg-list at: [:args :bs :arity-1 :args] predicate: > vector? > In: [0] val: clojure.core.logic/-inc fails spec: > :clojure.core.specs/args+body at: [:args :bs :arity-n] predicate: (cat > :args :clojure.core.specs/arg-list :prepost (? map?) :body (* any?)) > :clojure.spec/args (clojure.core.logic/-inc [] (bind (this) g)) > #:clojure.spec{:problems ({:path [:args :bs :arity-1 :args], :pred > vector?, :val clojure.core.logic/-inc, :via [:clojure.core.specs/args+body > :clojure.core.specs/arg-list :clojure.core.specs/arg-list], :in [0]} {:path > [:args :bs :arity-n], :pred (cat :args :clojure.core.specs/arg-list > :prepost (? map?) :body (* any?)), :val clojure.core.logic/-inc, :via > [:clojure.core.specs/args+body :clojure.core.specs/args+body], :in [0]}), > :args (clojure.core.logic/-inc [] (bind (this) g))}, > compiling:(clojure/core/logic.clj:1130:5) > > Is there already a fix for this? > > Kind regards, > Burt > > -- 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.