Skip to content

Releases: objectionary/normalizer

v0.3.1

12 Apr 12:19
570f2fb
Compare
Choose a tag to compare

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

26 Mar 10:17
4bf6dba
Compare
Choose a tag to compare

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)
  • 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)

What's Changed (generated notes)

Full Changelog: v0.2.0...v0.3.0

v0.2.0

16 Feb 08:31
495ad5d
Compare
Choose a tag to compare
  • Complete implementation of Yegor's rules (see #109, #112)
    • Support global counter in user-defined rules (see #105)
    • Context matching (global object and this object, see #99)
  • Fix grammar for $\varphi$-calculus (see #97 and #127)
  • Improve documentation:
    • Set up wesbite for documentation (see #104, #124, and #128)
    • Update CLI documentation (see #113)
  • Improve command line interface:
    • Support --output/-o command line option (see #92)
    • Remove logs from default output (see #106)
  • Allow collection of metrics for $\varphi$-terms (see #121)

What's Changed (generated)

Full Changelog: v0.1.0...v0.2.0

v0.1.0

02 Feb 18:00
9cda60b
Compare
Choose a tag to compare

First release of the normalizer:

  • Support syntax for $\varphi$-calculus
  • Basic support for user-defined rewrite rules (in YAML format, via --rules-yaml FILE option)
  • Step-by-step normalization via --chain option