Hey,
Apologies if I am wasting your time, I am just a beginner in Clojure, so I
might be overlooking some basic things.
Hereby
$lein version
Leiningen 2.6.1 on Java 1.8.0_102 Java HotSpot(TM) 64-Bit Server VM
$ lein deps :tree
Possibly confusing dependencies found:
[cider/cider-nrepl "0.8.1"] -> [org.clojure/java.classpath "0.2.0"
:exclusions [org.clojure/clojure]]
overrides
[org.clojure/core.typed "0.3.25"] -> [org.clojure/tools.namespace
"0.3.0-alpha3"] -> [org.clojure/java.classpath "0.2.3"]
Consider using these exclusions:
[org.clojure/core.typed "0.3.25" :exclusions [org.clojure/java.classpath]]
[cider/cider-nrepl "0.8.1"] -> [org.clojure/tools.namespace "0.2.5"
:exclusions [org.clojure/clojure]]
overrides
[org.clojure/core.typed "0.3.25"] -> [org.clojure/tools.namespace
"0.3.0-alpha3"]
Consider using these exclusions:
[org.clojure/core.typed "0.3.25" :exclusions [org.clojure/tools.namespace]]
[cider/cider-nrepl "0.8.1"]
[cljs-tooling "0.1.3" :exclusions [[org.clojure/clojure]]]
[compliment "0.2.0" :exclusions [[org.clojure/clojure]]]
[org.clojure/java.classpath "0.2.0" :exclusions [[org.clojure/clojure]]]
[org.clojure/tools.namespace "0.2.5" :exclusions [[org.clojure/clojure]]]
[org.clojure/tools.trace "0.7.8" :exclusions [[org.clojure/clojure]]]
[org.tcrawley/dynapath "0.2.3" :exclusions [[org.clojure/clojure]]]
[clojure-complete "0.2.4" :exclusions [[org.clojure/clojure]]]
[org.clojure/clojure "1.9.0-alpha11"]
[org.clojure/core.typed "0.3.25"]
[org.clojure/core.cache "0.6.4"]
[org.clojure/data.priority-map "0.0.4"]
[org.clojure/core.contracts "0.0.6" :exclusions [[org.clojure/clojure]]]
[org.clojure/core.unify "0.5.7"]
[org.clojure/core.typed.rt "0.3.25"]
[org.clojure/math.combinatorics "0.1.3" :exclusions
[[org.clojure/clojure]]]
[org.clojure/tools.analyzer.jvm "0.6.8"]
[org.clojure/core.memoize "0.5.7"]
[org.clojure/tools.analyzer "0.6.7"]
[org.ow2.asm/asm-all "4.2"]
[org.clojure/tools.reader "1.0.0-beta3"]
[org.clojure/test.check "0.9.0"]
[org.clojure/tools.nrepl "0.2.12" :exclusions [[org.clojure/clojure]]]
Op wo 31 aug. 2016 om 16:09 schreef Ambrose Bonnaire-Sergeant <
Post by Ambrose Bonnaire-SergeantI'm out of ideas.
Can you send your `lein version` and `lein deps :tree`
from the repo directory?
Thanks,
Ambrose
Post by Eelke van FoekenHi,
$ lein repl
Initializing core.typed ...
WARNING: boolean? already refers to: #'clojure.core/boolean? in
#'clojure.tools.analyzer.utils/boolean?
WARNING: boolean? already refers to: #'clojure.core/boolean? in
#'clojure.tools.analyzer.utils/boolean?
Building core.typed base environments ...
Finished building base environments
"Elapsed time: 14919.589655 msecs"
core.typed initialized.
nREPL server started on port 57873 on host 127.0.0.1 - nrepl://
127.0.0.1:57873
REPL-y 0.3.7, nREPL 0.2.12
Clojure 1.9.0-alpha11
Java HotSpot(TM) 64-Bit Server VM 1.8.0_102-b14
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=> (require 'runtime-infer-demo.core-test)
nil
user=> (in-ns 'runtime-infer-demo.core-test)
#object[clojure.lang.Namespace 0x139b884e "runtime-infer-demo.core-test"]
runtime-infer-demo.core-test=> (run-tests)
Testing runtime-infer-demo.core-test
Ran 1 tests containing 2 assertions.
0 failures, 0 errors.
{:test 1, :pass 2, :fail 0, :error 0, :type :summary}
runtime-infer-demo.core-test=> (in-ns 'runtime-infer-demo.core)
#object[clojure.lang.Namespace 0x5aee3dae "runtime-infer-demo.core"]
runtime-infer-demo.core=> (t/runtime-infer)
AssertionError Assert failed: No namespace form found
ns-form clojure.core.typed.runtime-infer/ns-end-line
(runtime_infer.clj:2566)
runtime-infer-demo.core=>
Thanks for helping out,
Eelke
Op woensdag 31 augustus 2016 14:57:17 UTC+2 schreef Ambrose
Post by Ambrose Bonnaire-SergeantHi Eelke,
I can't reproduce, did you just clone the project and run the steps?
Can you post your REPL session?
Thanks,
Ambrose
Post by Eelke van FoekenHi,
Great feature! I am trying the demo project. I am following the steps
from the first example, but when I get to (t/runtime-infer) I get the
AssertionError Assert failed: No namespace form found
ns-form clojure.core.typed.runtime-infer/ns-end-line
(runtime_infer.clj:2566)
Am I overlooking something?
Best regards,
Eelke van Foeken
Op woensdag 31 augustus 2016 11:17:09 UTC+2 schreef Ambrose
Post by Ambrose Bonnaire-SergeantHi,
The latest core.typed release has support for generating
clojure.spec specs from unit tests.
[org.clojure/core.typed "0.3.25"]
...; for very recent releases
:repositories {"sonatype-oss-public" "https://oss.sonatype.org/content/groups/public/"}
Here's an example
<https://gist.github.com/frenchy64/85c1c812daf81d07a55dd3ff82e3b0fe>
of the kind of specs it can generate
from even minimal tests.
There is a demo <https://github.com/typedclojure/auto-annotation> repository
if you want to test this feature out.
We now use a modified version of Compiler.java as an
analyzer, so there are nice noticeable speedups for
compilation.
Feedback welcome!
README <https://github.com/clojure/core.typed>
CHANGELOG
<https://github.com/clojure/core.typed/blob/master/CHANGELOG.md#0325---31-august-2016>
Thanks,
Ambrose