Changelog for eo-phi-normalizer-0.3.1
Changelog for eo-phi-normalizer
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to the Haskell Package Versioning Policy.
v0.3.1 — 2024-04-12
This version supports proper dataization of test programs with dependencies.
New:
- Add
--dependency-file FILE
option to enable dependencies (e.g.bool.phi
,bytes.phi
) (see #265)
Changes and fixes:
- Fix handling of
Package
atom (also improves related code, see #239 and #265) - Update the dataless objects metric (see #234)
- Improve reports (see #225)
Documentation and maintenance:
- Establish proposals format and process (see #248)
- Improve the docs job, improve the site, fix minor errors (see #228)
- Fix
hlint
warnings (see #241) - CI: run doctests (see #230)
- CI: switch back to the official
stack-action
(see #246) - CI: publish extra files in artifacts (in particular, dependencies like
bool.phi
, see #245)
v0.3.0 — 2024-03-26
In this version the main executable has been renamed to normalizer
and several commands have been implemented for normalization, dataization,
and reporting.
New:
- Command Line Interface:
- Add commands:
normalizer transform
to perform normalization without executing any atoms (was default behavior before)normalizer metrics
to compute metrics of a given φ-expression (see #153)normalizer dataize
to run partial evaluation of φ-expressions with atoms (see #187)normalizer report
to generate report based on the results of testing against the EO compiler (see #213)
- Add
--single
flag (see #131) - Add
--json
flag for machine-readable output format (see #143) - Add
--max-depth=N
and--max-term-size=N
options to control limits for the normalizer (see #173) - Improve
--chain
option to provide better elaboration on the applied normalization rules and the dataization process (see #195)
- Add commands:
- Update rule set for φ-calculus (see #152 and some changes in #136 and #166)
- Add property-based and regression tests for confluence (see #136 and #166)
- Tests and metrics against the EO compiler and standard EO test suite (see #98, #191)
Fixes:
- Count metrics, including dataless objects, correctly (see #142, #193, #211)
- Fix metavariables in context patterns (see #174)
- Support empty Δ-bindings (see #184)
Documentation has been improved (see #134, #221).
Maintenance:
- Run CI on all pull requests (see #156)
- Downgrade Stackage snapshot (see #146)
- Add HLint to CI (see #157)
v0.2.0 — 2024-02-16
- Complete implementation of Yegor's rules (see #109, #112)
- Fix grammar for \(\varphi\)-calculus (see #97 and #127)
- Improve documentation:
- Improve command line interface:
- Allow collection of metrics for \(\varphi\)-terms (see #121)
v0.1.0 - 2024-02-02
First version of the normalizer.