Skip to content

Instantly share code, notes, and snippets.

@hiredman
Created November 16, 2017 21:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hiredman/b8e6ce7392e6ba56576fb14f8e8b7712 to your computer and use it in GitHub Desktop.
Save hiredman/b8e6ce7392e6ba56576fb14f8e8b7712 to your computer and use it in GitHub Desktop.
user=> (s/valid? even? "42")
IllegalArgumentException Argument must be an integer: 42 clojure.core/even? (core.clj:1383)
user=> (pst)
IllegalArgumentException Argument must be an integer: 42
clojure.core/even? (core.clj:1383)
clojure.core/even? (core.clj:1378)
clojure.spec.alpha/spec-impl/reify--1987 (alpha.clj:875)
clojure.spec.alpha/valid? (alpha.clj:755)
clojure.spec.alpha/valid? (alpha.clj:751)
user/eval17 (NO_SOURCE_FILE:5)
user/eval17 (NO_SOURCE_FILE:5)
clojure.lang.Compiler.eval (Compiler.java:7062)
clojure.lang.Compiler.eval (Compiler.java:7025)
clojure.core/eval (core.clj:3206)
clojure.core/eval (core.clj:3202)
clojure.main/repl/read-eval-print--8572/fn--8575 (main.clj:243)
nil
user=>
@alexei-matveev
Copy link

(s/valid? ::even4 [[22 42] [10 "42"]])1. Unhandled java.lang.IllegalArgumentException
Argument must be an integer: 42

              core.clj: 1383  clojure.core/even?                                  
              core.clj: 1378  clojure.core/even?                                  
             alpha.clj:  875  clojure.spec.alpha/spec-impl/reify                  
             alpha.clj:  964  clojure.spec.alpha/tuple-impl/reify                 
             alpha.clj:  755  clojure.spec.alpha/valid?                           
             alpha.clj:  751  clojure.spec.alpha/valid?                           
                  REPL:  110  try-spec.core/eval7566 

@alexei-matveev
Copy link

(s/def ::even even?)
(s/def ::even2 (s/tuple ::even ::even))
(s/def ::even4 (s/tuple ::even2 ::even2))

That was the spec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment