Tims Gardner
Tims Gardner
The way type resolution works in standard ClojureCLR is terribly weak and inconvenient, but Magic's seems permissive to the point of perhaps being buggy. In a fresh namespace, the following...
```clojure (m/defn failing-case [] (let [arr (make-array System.Object (rand-int 10))] arr)) ``` Then: ``` arcadiatech.state-lab.coroutine-tracker.gui=> (failing-case) System.OverflowException: NO_CLASS.NO_METHOD * magic//arcadiatech/state-lab/coroutine-tracker/gui//failing-case//10332 * arcadiatech/state-lab/coroutine-tracker/gui/eval clojure.lang.Compiler.eval (object) clojure.lang.Compiler.eval (object) * clojure/core/eval * arcadia/internal/socket-repl/game-thread-evalfnfn...
We should have a good intrinsic story for array operations, but it sounds like that might take a little while. An obvious stopgap until we can get that is to...
In normal Clojure, this works: ```clojure (let [m (new |System.Collections.Generic.Dictionary`2[System.Object,System.Object]|) v :initial] (if (.TryGetValue m :hi (by-ref v)) v :nothing)) ;; => ;; :nothing ``` In magic, it doesn't: ```clojure...
this function compiles: ```clojure (mc/define lookahead-acc ^UnityEngine.Vector3 [^UnityEngine.Vector3 p1, ^UnityEngine.Vector3 p2, ^UnityEngine.Vector3 vel, ^System.Single max-accel] (let [dist (UnityEngine.Vector3/Distance p1 p2) brake-time (* 2.0 (/ (UnityEngine.Mathf/Abs (.magnitude vel)) max-accel)) lookahead (v3+...
Back-button navigation is very slow, the local back-button action takes about 4.5 seconds. I'm on Emacs 26.3 and Windows 10, running on a new gaming laptop with an i7-9750H (2.60GHz)...