Releases: aristanetworks/purescript-backend-optimizer
Releases · aristanetworks/purescript-backend-optimizer
v1.4.2
- Fix effect loop codegen in branches (@natefaubion #97)
v1.4.1
- Fixes issue with STArray handling of unsafeThaw, with regards to operations like
unsafeFreeze >>> Array.length
. This resulted in breakingData.Array.nubBy
. - Fixes issue with unintended inlining of terms under a boolean negation.
v1.4.0
- Optimize representations for enum ADTs to avoid object wrappers. (@htmue #44)
- Avoid materializing arrays when unnecessary, like records and data constructors. (@natefaubion #65)
- Propagate more information (eg. constructor tag or array length) for known data that may be behind a record, array, or data wrapper. (@mikesol @natefaubion #64 #73)
- Improve associative operator handling so const eval fires accurately in arbitrarily associated operator chains. (@natefaubion #77)
- Add a
--trace-rewrites
CLI option for observing rewrite passes the optimizer takes. (@JordanMartinez #55) - Add a
--timing
flag for printing metrics. (@natefaubion #81 #89 #90) - Performance improvements. (@natefaubion #86 #88)
v1.3.1
- Fix codegen issue with
-
and/
operator associativity. (#38, @htmue) - Fix issue with overly aggressive property dereference inlining. (#40, @natefaubion)
v1.3.0
- Effect/ST Loop inlining (
foreachE
,forE
,whileE
, etc). - General
Ref
unboxing, which applies to both Effect and ST. - Inlining of
STArray
andSTObject
operations (array push, object update, etc).