Skip to content

Releases: curvelogic/eucalypt

0.2.0.224

06 Dec 13:25
8dd25d1
Compare
Choose a tag to compare

0.2.0.202...0.2.0.224

Features

  • new split-at, split-after, split-once prelude fns

Fixes

  • prelude function head-or now works

  • take-while now tail recursive and lazier

  • __MOD intrinsic and % op were broken; now fixed

Notes

  • Upgrade dependencies.

  • Added some experimental prelude functions group-by, discriminate, fnil, qsort.

0.2.0.202

04 Mar 12:42
13b8df2
Compare
Choose a tag to compare

0.2.0.184...0.2.0.202

Features

  • -S now outputs count of the heap blocks allocated during machine execution

  • eu now has experimental support import of .edn files and export to edn (using -x edn). Currently only single top-level forms are supported so, for example, reading streamed logs in edn is not possible. See https://github.com/edn-format/edn for the EDN spec.

0.2.0.184

15 Dec 09:19
51729d0
Compare
Choose a tag to compare

0.2.0.178...0.2.0.184

Fixes

  • allocation of large objects (e.g. processing larger files) was failing as allocator did not support objects larger than block size, these objects can now be allocated (wastefully and inefficiently).

0.2.0.178

11 Oct 16:54
1c2b4a8
Compare
Choose a tag to compare

0.2.0.161...0.2.0.178

Features

  • a new prelude function merge-meta (also on operator //<<) to merge metadata blocks to account for a change in the way metadata works in 0.2. Metadata now always applies to the value rather than the entire declaration, so if foo is suppressed and bar: foo then bar: foo //<< { export: :display } will be needed to force bar to render.

Fixes

  • restore output of YAML tags from tag: metadata that's been missing since 0.2

  • reinstate generation of YAML tags from tag metadata which has been broken since 0.2.

  • fixed the --dump-runtime flag which was being ignored

  • fixed to-upper and to-lower prelude functions broken since 0.2

0.2.0.161

17 Sep 09:00
b0bafa9
Compare
Choose a tag to compare

0.2.0.155...0.2.0.161

Fixes

  • Allow escaped slashes (e.g "/") in YAML strings

0.2.0.155

15 Sep 19:42
bdcb5dc
Compare
Choose a tag to compare

0.2.0.134...0.2.0.155

  • Custom Allocation (#168)

Performance Improvements

  • introduces a custom allocator to eradicate a lot of ref counting during execution, should go faster.

0.2.0.134

25 Jul 10:43
93f0992
Compare
Choose a tag to compare

0.2.0.104...0.2.0.134

Features

  • New flags --collect-as and --name-inputs have been implemented to aggregate data from arbitrary numbers of inputs (e.g.using shell wildcard syntax).

  • eucalypt's test mode (eu -T) now generates an HTML test report including results and stdout / stdin of the test execution

  • HTML test reports generated by eu -T can now be automatically opened in a browser using the -O flag

  • The experimental test mode now supports arbitrary validations applied to the output. Single argument functions in the test subject file can be listed in the :validations key of the test target metadata. These run against the evidence data generated by the test and have access to stdout, stderr, result, stats

Fixes

  • error message fix - no longar panics on invalid yaml or json

  • add missing legacy intrinsic __DQ for double quote character (currently accessible via prelued as ch.dq) which for now fixes an indecision gap around string escapes...

0.2.0.104

30 Jun 10:13
f352bb9
Compare
Choose a tag to compare

0.2.0.40...0.2.0.104

  • HTML export (#149)
  • Ignore target if -e specified (#150)
  • Switch back to bacon_rajan_cc from gcmodule (#151)
  • Initial work towards optimising STG (#158)

Features

  • An experimental HTML exporter is available using -x html which takes lists of [tag, attrs, content...] and outputs HTML5.

  • Add a max stack size statistic on -S which shows the maximum size reached by the STG continuation stack

  • Some more advanced settings (--stg-xxx) have been exposed to control the behaviour of the internal STG compiler and evaluator, to allow easier benchmarking and performance comparison. These are heavily subject to change.

Fixes

  • Targets -t (and :main targets ) overriding evaluand -e. Now fixed. -e takes priority.

0.2.0.40

10 May 11:18
Compare
Choose a tag to compare

0.1.2.91...0.2.0.40

Breaking Changes

  • This is a complete reimplementation in Rust of the old Haskell codebase. Although the full test suite passes, a few compromises have been made. Arbitrary precision arithmetic is no longer supported and a few undocumented dusty corners (IOSM) have been removed.

  • The initial YAML implementation does not support outputting tags, because the underlying Rust library used does not. This is a temporary regression pending a switch of library to restore tag output. The current test does not detect the issue.

Features

  • the 0.2.0 implementation has a new test mode, accessible on -T which runs test eu scripts or test targets within scripts. It is currently an undocumented draft implementation which is not yet documented but it is used to run the eucalypt test harness.

  • The tester can run all tests in a directory, using eu -T <dir> in which case the directory is also now added to the library path so tests can easily import relative paths.

0.1.2.91

07 May 14:27
23fc62d
Compare
Choose a tag to compare

Mainly internal refactoring and test changes in preparation for move to Rust implementation in 0.2.0.

  • fix: c_bool parsing in experimental parse-embed feature