Skip to content

Releases: LPCIC/elpi

1.14.1

08 Feb 11:08
v1.14.1
7fc95f0
Compare
Choose a tag to compare

CHANGES:

  • Runtime:
    • Fix unification dealing with a deep AppArg (regression in 1.14.0)

1.14.0

04 Feb 09:22
v1.14.0
Compare
Choose a tag to compare

CHANGES:

  • Runtime/FFI:
    • Fix handling of eta expanded unification variables. Many thanks to
      Nathan Guermond for testing this tricky case.
    • Change Rawdata.Constants.eqc to a builtin
    • Fix Rawdata.Constants.cutc has always been a builtin
    • Fix compatibility with OCaml multicore, no more PtrMap
  • API:
    • New FlexibleData.WeakMap to link unification variables with host
      data based on OCaml's Ephemeron
    • Change Conversion.extra_goals is now an extensible data type with one
      standard constructor Conversion.Unify taking two terms
    • New RawData.set_extra_goals_postprocessing can be used to
      post process the extra goals generated by an FFI call.
      One has to translate extensions to the extra_goals datatype to
      RawData.RawGoal (or Conversion.Unify), but can also take global
      actions like cancelling out useless or duplicate goals
    • Change Setup.init to take in input a ~file_resolver rather than a list
      of ~paths and a ~basedir. A custom file resolver can use some logic
      from the host application to find files, rather than an hardcoded one
    • New Parse.std_resolver building a standard resolver (based on paths)
    • Change signature of Parse.resolve_file making ?cwd explicit
  • Library:
    • Better error messages in std.nth
    • declare_constraint is now variadic any prop, so that one can pass
      variables of different types as keys for the constraint. A list of variables
      (of the same type) is still supported.

1.13.8

26 Nov 11:03
Compare
Choose a tag to compare

CHANGES:

  • Build:
    • link camlp5.gramlib as part of elpi.cmxs so that the plugin can be
      loaded via findlib.

v1.13.7

12 Jul 11:45
Compare
Choose a tag to compare

CHANGES:

  • Compiler:
    • Fix bug in spilling when the spilled expression generates more than one
      argument.

v1.13.6

18 Jun 09:21
77ca0e6
Compare
Choose a tag to compare

CHANGES:

  • API:
    • Fix std.findall is now calling a builtin which is able to produce
      solutions which contain eigenvariables and uvars as well.
    • loc is now printed using / as a path separator also on Windows
    • loc.fields to project a loc into the file, line, etc...

v1.13.5

16 May 17:18
Compare
Choose a tag to compare

CHANGES:

  • API:
    • New prune which can be used to prune a unification variable
    • New distinct_names which checks if a list of arguments is in the pattern
      fragment

v1.13.4

14 May 19:27
Compare
Choose a tag to compare

CHANGES:

  • FFI: new ioargC_flex which considers flexible terms as Data

v1.13.3

14 May 16:41
Compare
Choose a tag to compare

CHANGES:

  • Bugifx: keep the state component while_compiling even when execution is
    over, since the API to allocate a new Elpi uvar needs it and Coq-Elpi may
    call this API while translating the solution to Coq

v1.13.2

01 May 18:11
5129655
Compare
Choose a tag to compare

CHANGES:

  • Build:
    • drop ppxfindcache
    • relax dependency on ocaml-migrate-parsetree

v1.13.1

13 Apr 09:13
v1.13.1
Compare
Choose a tag to compare

CHANGES:

  • API:
    • New gc.get and gc.set for reading and writing GC settings
    • New gc.minor
    • New gc.major
    • New gc.full
    • New gc.compact
    • New gc.stat
    • New gc.quick-stat
    • New min and max operators for the is builtin, they work on
      int and float
    • Rename rex_match -> rex.match
    • Rename rex_replace -> rex.replace
    • Rename rex_split -> rex.split
    • Rename counter -> trace.counter
  • FFI:
    • New Builtin.unspec type to express optional input