I tried playing around with the new primitive type hints and got the following weird behavior on [org.clojure/clojure "1.7.0-beta2"]:
(defn ^longs init-state [] (long-array 1)) (defn ^long store-state [^longs c ^long a] (aset c 0 a)) running the following line resulted in an exception: (let [x (init-state)] (store-state x 5)) 1. Caused by java.lang.VerifyError (class: clojure_7/core$eval13270, method: invoke signature: ()Ljava/lang/Object;) Unable to pop operand off an empty stack Class.java: -2 java.lang.Class/getDeclaredConstructors0 Class.java: 2671 java.lang.Class/privateGetDeclaredConstructors Class.java: 3075 java.lang.Class/getConstructor0 Class.java: 412 java.lang.Class/newInstance Compiler.java: 4843 clojure.lang.Compiler$ObjExpr/eval Compiler.java: 6791 clojure.lang.Compiler/eval Compiler.java: 7237 clojure.lang.Compiler/load REPL: 1 reverse-index.main/eval13258 Compiler.java: 6792 clojure.lang.Compiler/eval Compiler.java: 6755 clojure.lang.Compiler/eval core.clj: 3079 clojure.core/eval main.clj: 240 clojure.main/repl/read-eval-print/fn main.clj: 240 clojure.main/repl/read-eval-print main.clj: 258 clojure.main/repl/fn main.clj: 258 clojure.main/repl RestFn.java: 1523 clojure.lang.RestFn/invoke interruptible_eval.clj: 58 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn AFn.java: 152 clojure.lang.AFn/applyToHelper AFn.java: 144 clojure.lang.AFn/applyTo core.clj: 628 clojure.core/apply core.clj: 1866 clojure.core/with-bindings* RestFn.java: 425 clojure.lang.RestFn/invoke interruptible_eval.clj: 56 clojure.tools.nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 188 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn interruptible_eval.clj: 157 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn AFn.java: 22 clojure.lang.AFn/run ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run Thread.java: 745 java.lang.Thread/run while the following line worked just fine: (store-state (init-state) 5) and also this works fine: (def a (init-state)) (store-state a 5) (aget a 0) ;; 5 What do you think? On Friday, April 24, 2015 at 11:27:40 AM UTC-7, Alex Miller wrote: > > Clojure 1.7.0-beta2 is now available. > > Try it via > - Download: > https://repo1.maven.org/maven2/org/clojure/clojure/1.7.0-beta2/ > - Leiningen: [org.clojure/clojure "1.7.0-beta2"] > > Regression fixes since 1.7.0-beta1: > > 1) CLJ-1711 - structmap iterator broken > 2) CLJ-1709 - range wrong for step != 1 > 3) CLJ-1713 - range chunks are not serializable > 4) CLJ-1698 - fix reader conditional bugs > > Additional enhancements to new features since 1.7.0-beta1: > > 1) CLJ-1703 - Pretty print #error and new public function Throwable->map > 2) CLJ-1700 - Reader conditionals now allowed in the REPL > 3) CLJ-1699 - Allow data_readers.cljc as well as data_readers.clj > > For a full list of changes since 1.6.0, see: > https://github.com/clojure/clojure/blob/master/changes.md > > Please give it a try and let us know if things are working (or not)! > > - Alex > > -- 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.