Releases: curvelogic/eucalypt
0.2.0.224
0.2.0.202...0.2.0.224
- Update dependencies
- Fix prelude `head-or``
group-by
,qsort
et al- Missing mod op implementation and prelude additions.
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
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
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
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 iffoo
is suppressed andbar: foo
thenbar: foo //<< { export: :display }
will be needed to forcebar
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
andto-lower
prelude functions broken since 0.2
0.2.0.161
0.2.0.155
0.2.0.134
0.2.0.104...0.2.0.134
- Fix several release automation issues
- --collect-as and --name-inputs
- Tester improvements (refactor, report, arbitrary validators)
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 tostdout
,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
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
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
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