Skip to content

Releases: aristanetworks/purescript-backend-optimizer

v1.4.2

11 Sep 21:37
Compare
Choose a tag to compare

v1.4.1

23 Aug 18:05
Compare
Choose a tag to compare
  • Fixes issue with STArray handling of unsafeThaw, with regards to operations like unsafeFreeze >>> Array.length. This resulted in breaking Data.Array.nubBy.
  • Fixes issue with unintended inlining of terms under a boolean negation.

v1.4.0

18 Aug 23:07
Compare
Choose a tag to compare
  • 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

21 Dec 17:47
Compare
Choose a tag to compare
  • Fix codegen issue with - and / operator associativity. (#38, @htmue)
  • Fix issue with overly aggressive property dereference inlining. (#40, @natefaubion)

v1.3.0

15 Dec 23:09
Compare
Choose a tag to compare
  • Effect/ST Loop inlining (foreachE, forE, whileE, etc).
  • General Ref unboxing, which applies to both Effect and ST.
  • Inlining of STArray and STObject operations (array push, object update, etc).