Changelog

This project adheres to Semantic Versioning. Lines marked with 🧨 describe breaking changes.

[Unreleased]

[3.0] -- 2023-11-04

Changed

🧨 Removed the functor interface, the parser is a single function taking two functions and a stream of terms as parameters.

No more table type needed, the parser only needs a function is_op to distinguish operators from other tokens.

To port code, any snippet like

module S : SUPPORT = struct
  type term = ...
  type table = ...
  let get tbl t = ...
  let make_appl t u = ...
end
module P = Pratter.Make(S)

should be replaced by

let is_op t = ...
let appl t u = ...

where the following properties hold

Under these assumptions, denoting tbl the value that makes the second hypothesis hold, we have P.expression tbl = Pratter.expression ~is_op ~appl

[2.0] -- 2022-06-15

Added

Changed

[1.2.1] -- 2022-05-06

Added

Changed

[1.2] -- 2021-05-05

Added

Fixed

[1.1] -- 2021-01-23

Added

Changed

[1.0.1] -- 2021-01-16

Fixed

Added

[1.0] -- 2021-01-14

Changed

[0.1.1] -- 2021-01-06

Added