0.31.0: emmy.js support, TeX improvements
-
#139:
-
Fixes matrix and simplification-related test failures introduced in the last couple of PRs.
-
Removes the custom
->Quaternion
constructor inemmy.quaternion
; this was causing build warnings incljs
. Any place you might have used->Quaternion
, please useemmy.quaternion/make
. -
Backs off the various protocol extensions in
emmy.collection
fromIPersistentMap
andIPersistentSet
to the concrete types shipped with Clojure. This prevents these implementations from attaching, on the JVM side, to newdefrecord
instances or other types that extend those protocols. -
Fixes a documentation error with
emmy.generic/atan
.
-
-
#135:
-
Adds some hidden features for use by
emmy.js
to support use of Emmy from JavaScript. These features are not used by default, but are meant to be opted-in by JS libraries that need them. -
The function object now uses the field
f-name
instead ofname
to hold the name of the function. The name property of Function objects in JS is readonly, so we need a different property that we can modify in order to create a JS object which is both an Emmy and an ES6 function. -
Adds the function
make-es6-callable
to promote an IFn object to a native JS function by birthing a new function object which delegates to the original object's apply method, and copying over the rest of the object's identity. -
Adds the function
make-es6-indexable
to promote an Emmy Structure to something that behaves more like an ES6 array. -
Structure objects are declared
es6-iterable
using a standard CLJS feature. -
Using
with-meta
on a function creates a new object which is not a native JS function, though still invokable in Clojure. This is a steep price to pay for the privilege of adding metadata to a function, so for function objects we allow metadata to be directly applied.The IMeta interface can be used to retrieve this property-based metadata, but IWithMeta cannot be used to attach it (this interface guarantees the production of a new object). See
emmy.function/with-meta
.
-
-
#134:
-
Adds
->TeX
handlers formatrix-by-rows
andcolumn-matrix
. -
matrices now freeze into
(matrix-by-rows [...] [...])
instead of(matrix-by-rows (up ...) (up ...))
. -
functions in
emmy.numerical.ode
now set:compile?
totrue
by default. -
Fixes some
TeX
typos in a few of the literate notebooks.
-
-
#131 fixes accidental simplification of keywords to
nil
.