Right you are, silly me :)
thanks!
On Friday, May 1, 2015 at 11:17:42 AM UTC-7, Nicola Mometto wrote:
>
>
> The type-hint on init-state is wrong.
>
> It has to be either
>
> (defn {:tag 'longs} init-state [] (long-array 1))
> or (preferred)
> (defn init-state ^longs [] (long-array 1))
>
>
> [email protected] <javascript:> writes:
>
> > 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.