Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spectrum.conform/protocol- did not conform to spec: clojure.core/inst-ms* #33

Open
jc776 opened this issue Dec 8, 2018 · 1 comment

Comments

@jc776
Copy link

jc776 commented Dec 8, 2018

I did 'lein install' on Unifier fixes and tests locally due to #29.

I get an error when loading spectrum.check:

(ns worksheet.type-specs
  (:require [spectrum.check :as check]))
java.lang.ClassNotFoundException: spectrum.protocols.Logic, compiling:(spectrum/conform.clj:1:1)

I patched this by adding (defrecord Logic [name]) to the bottom of protocols.clj. I then tried the example in the README:

(check/type-of '(map inc (range 5)))
loading clojure
evaling (ns clojure.core)
analyzing #object[java.net.URL 0x12d10201 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/core_proxy.clj]
evaling (in-ns (quote clojure.core))
analyzing #object[java.net.URL 0x656ca907 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/core_print.clj]
evaling (in-ns (quote clojure.core))
analyzing #object[java.net.URL 0x3452788d jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/genclass.clj]
evaling (in-ns (quote clojure.core))
analyzing #object[java.net.URL 0x5dab3f14 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/core_deftype.clj]
evaling (in-ns (quote clojure.core))
analyzing #object[java.net.URL 0x557031f9 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/core/protocols.clj]
evaling (ns clojure.core.protocols)
analyzing #object[java.net.URL 0x9862fc4 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/gvec.clj]
evaling (in-ns (quote clojure.core))
analyzing #object[java.net.URL 0x690e0a70 jar:file:/C:/Users/Jack/.m2/repository/org/clojure/clojure/1.9.0/clojure-1.9.0.jar!/clojure/instant.clj]
evaling (ns clojure.instant (:import [java.util Calendar Date GregorianCalendar TimeZone] [java.sql Timestamp]))
Exception thrown: clojure.lang.ExceptionInfo (Spec assertion failed.)

*e
#error {
 :cause "Call to #'spectrum.conform/protocol- did not conform to spec:\nIn: [0] val: #'clojure.core/inst-ms* fails at: [:args :p] predicate: protocol?\r\n"
 :data {:clojure.spec.alpha/problems [{:path [:args :p], :pred spectrum.util/protocol?, :val #'clojure.core/inst-ms*, :via [], :in [0]}], :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x46ef9602 "clojure.spec.alpha$regex_spec_impl$reify__2436@46ef9602"], :clojure.spec.alpha/value (#'clojure.core/inst-ms*), :clojure.spec.alpha/args (#'clojure.core/inst-ms*), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "flow.clj", :line 327, :var-scope spectrum.flow/protocol-method-args-bindings}}
 :via
 [{:type clojure.lang.ExceptionInfo
   :message "Call to #'spectrum.conform/protocol- did not conform to spec:\nIn: [0] val: #'clojure.core/inst-ms* fails at: [:args :p] predicate: protocol?\r\n"
   :data {:clojure.spec.alpha/problems [{:path [:args :p], :pred spectrum.util/protocol?, :val #'clojure.core/inst-ms*, :via [], :in [0]}], :clojure.spec.alpha/spec #object[clojure.spec.alpha$regex_spec_impl$reify__2436 0x46ef9602 "clojure.spec.alpha$regex_spec_impl$reify__2436@46ef9602"], :clojure.spec.alpha/value (#'clojure.core/inst-ms*), :clojure.spec.alpha/args (#'clojure.core/inst-ms*), :clojure.spec.alpha/failure :instrument, :clojure.spec.test.alpha/caller {:file "flow.clj", :line 327, :var-scope spectrum.flow/protocol-method-args-bindings}}
   :at [clojure.core$ex_info invokeStatic "core.clj" 4739]}]

Also, I get a second error when loading spectrum.unify. I'm not sure whether it should be c/logic? or the logic? in this file.

(require '[spectrum.flow2 :as f2])
java.lang.RuntimeException: Unable to resolve symbol: logic? in this context, compiling:(spectrum/unify.clj:12:5)
@divs1210
Copy link

divs1210 commented Jun 3, 2019

This looks outdated. spectrum.check loads fine for me, and doesn't seem to house a fn called type-of. lein install was successful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants