Skip to content

Releases: purerl/purerl

v0.0.24

04 Sep 16:56

Choose a tag to compare

Add linux arm build

v0.0.23

04 Sep 14:14

Choose a tag to compare

What's Changed

  • Fixes creating ebin in Windows by @cbishopvelti in #40
  • CI updates
  • Add maybe to keywords for generated erlang

New Contributors

Full Changelog: v0.0.22...v0.0.23

0.0.22

04 Jan 10:51
ae1aad5

Choose a tag to compare

Merge pull request #38 from MonoidMusician/purs-15-14

Update for purs 0.15.14

0.0.21

09 Aug 08:04

Choose a tag to compare

Limit inlining by a heuristic.

Inlining is performed because of hoisting of synthesised applications (i.e. typeclass dictionaries) frustrating rewrites in the optimisation phase. Sometimes this was triggering on some very large definitions leading to an explosion in code size.

v0.0.20

28 Jun 15:05

Choose a tag to compare

CI bump stack v

v0.0.19

03 Jan 16:17

Choose a tag to compare

What's Changed

New Contributors

  • @jgarte made their first contribution in #31
  • @f-f made their first contribution in #32

Full Changelog: v0.0.18...v0.0.19

v0.0.18

06 Oct 10:22
399bbae

Choose a tag to compare

Note this release mis-reports its version as 0.0.17

v0.0.17

28 Jun 16:13

Choose a tag to compare

Updates for PureScript 0.15.3 compatibility

  • Updating to PureScript 0.15.3 library & new GHC version

  • Memoization annotations together with PureScript change to float synthetic function applications (purescript/purescript#3915) and the optimiser parse transform (https://github.com/id3as/purerl-optimiser/) should provide a performance improvement

  • Implement PureScript lazy runtime

    This concerns changes made in PureScript 0.15.0 (https://github.com/purescript/purescript/releases/tag/v0.15.0), details of which can be found in PureScript release notes. The existing erlang implementation would have behaved differently with no changes, rather than observing an undefined equivalent we would see infinite recursion in cases where there is a bad runtime reference in a recursive binding group; this change means that as in the JS backend, an exception is thrown in this case. The laziness transform referenced in the PureScript release notes is used here, so this overhead is not incurred most of the time.

v0.0.16

07 Jun 16:31

Choose a tag to compare

What's Changed

  • Comment out -file lines to get erlang stack traces by @drathier in #25

  • Fix nested do blocks with shadowed identifiers #26

  • Fix pattern match codegen for arrays nested under records, and multiple levels of nested arrays #28

  • Generate type annotations correctly for foreign imports where the implementation is (at least partly) curried

Full Changelog: v0.0.15...v0.0.16

Quash pedantic output check

11 Feb 09:22

Choose a tag to compare

The output check for stale modules has been converted to a warning, files in output/ whose corresponding sources are not found will now be ignored with a warning. This should mean that deleting modules, switching branches without nuking output will not halt builds, and should still give correct results (because those stale modules were not used anyway).