Skip to content

Releases: LPCIC/elpi

1.20.0

19 Sep 13:45
v1.20.0
eb195c6
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Language:

    • attribute :remove to remove a clause from the program
  • Compiler:

    • Build the index at assembly time, rather than optimization time.
      This makes compilation slower, but startup faster.
    • Adding clauses before the type/mode declaration of a predicate
      is now forbidden, since they are immediately inserted in the index
      and the type/mode declaration can change the index type

1.19.6

20 Aug 09:02
v1.19.6
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Runtime:
    • Fix bug in unification code for "automatic intro" (as in the intro tactic)
      of UVar arguments

1.19.5

30 Jul 14:04
v1.19.5
f27441e
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Compiler:

    • Improve performance of separate compilation
  • CHR:

    • Syntax extension for constraint declaration.
    • This aims to avoid the overlapping clique error
    • Example: constraint c t x ?- p1 p2 { rule (Ctx ?- ...) <=> (Ctx => ...) }
    • c, t and x are the symbols which should be loaded in the rule of the
      constraint and should be considered as symbols composing the context (Ctx)
      under which p1 and p2 are used.

1.19.4

11 Jul 13:24
v1.19.4
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Stdlib:

    • Add once predicate
  • Build:

    • New make tests PROMOTE=true
  • Parser:

    • Change purge _build/xxx from paths once files are resolved in order
      to have locs point to the sources and not their copy in _build

1.19.3

27 Jun 08:50
v1.19.3
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Linter:

    • Fix regex for linearity check, Foo_Bar was silently ignored for
      linearity purpose
  • Parser:

    • Fix error message for named quotation
  • Runtime:

    • Fix missing restriction

1.19.2

11 Jun 20:45
v1.19.2
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

  • Builtins:

    • Add choose, min, max, fold and partition methods to OCaml sets
    • Add fold method to OCaml maps
  • Stdlib:

    • Fix first argument of std.rev is in input
  • Runtime:

    • Fix discrimination tree retrieval

1.19.1

03 Jun 08:55
v1.19.1
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

Language:

  • New :index (<arg-spec>) "index-type" where the index type can be
    Map, Hash or DTree

Runtime:

  • Fix performance regression due to the fix to relocation in unification
    introduced in 1.19.0
  • New list flattening in DTree index, that is term app [t1,t2,t3]
    is indexed using the same DTree space/depth of term app t1 t2 t3

1.19.0

02 May 12:36
v1.19.0
Compare
Choose a tag to compare

CHANGES:

Language:

  • Change CHR syntax now accepts any term in eigen variables position E in
    sequent E : _ ?- _. Meaningful terms are lists or unification variables
  • Change CHR eigen variables are a list of names (used to be an integer)
  • Fix CHR relocation/scope-checking for new goals

1.18.2

12 Jan 12:57
v1.18.2
e067f06
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

Language:

  • Change indexing for multiple arguments is now based on discrimination trees
  • Change :index acecpts an optional string to force "Hash" based indexing

API:

  • Change clause_of_term accepts a `Replace grafting directive

What's Changed

Full Changelog: v1.18.1...v1.18.2

1.18.1

01 Dec 11:33
v1.18.1
3ebfce2
Compare
Choose a tag to compare

CHANGES:

Requires Menhir 20211230 and OCaml 4.08 or above.

Parser:

  • Remove legacy parsing engine based on Camlp5

API:

  • New RawQuery.compile_ast, lets one set up the initial state in which the
    query is run, even if the query is given as an ast.
  • New solution.relocate_assignment_to_runtime to pass a query result
    to another query
  • New BuiltInPredicate.FullHO for higher order external predicates
  • New BuiltInPredicate.HOAdaptors for map and filter like HO predicates
  • New Calc.register to register operators for calc (aka infix is)

Library:

  • New std.fold-right

Runtime:

  • New clause retrieval through discrimination tree. This new index is enabled
    whenever the :index directive selects only one argument with a depth > 1.

What's Changed

New Contributors

Full Changelog: v1.18.0...v1.18.1