Releases: LPCIC/elpi
Releases · LPCIC/elpi
1.19.4
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
-
Stdlib:
- Add
oncepredicate
- Add
-
Build:
- New
make tests PROMOTE=true
- New
-
Parser:
- Change purge
_build/xxxfrom paths once files are resolved in order
to have locs point to the sources and not their copy in_build
- Change purge
1.19.3
1.19.2
1.19.1
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 termapp t1 t2 t3
1.19.0
CHANGES:
Language:
- Change CHR syntax now accepts any term in eigen variables position
Ein
sequentE : _ ?- _. 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
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Language:
- Change indexing for multiple arguments is now based on discrimination trees
- Change
:indexacecpts an optional string to force"Hash"based indexing
API:
- Change
clause_of_termaccepts a`Replacegrafting directive
What's Changed
- Discrimination tree on multiple args by @FissoreD in #213
- Expose `Replace in API by @FissoreD in #217
- Update ELPI.md by @gares in #215
- fix chr trace by @gares in #216
Full Changelog: v1.18.1...v1.18.2
1.18.1
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_runtimeto pass a query result
to another query - New
BuiltInPredicate.FullHOfor higher order external predicates - New
BuiltInPredicate.HOAdaptorsformapandfilterlike HO predicates - New
Calc.registerto register operators forcalc(aka infixis)
Library:
- New
std.fold-right
Runtime:
- New clause retrieval through discrimination tree. This new index is enabled
whenever the:indexdirective selects only one argument with a depth> 1.
What's Changed
- Add foldr to the elpi builtins by @lukovdm in #203
- API: state updater by @gares in #206
- Indexing via discrimination tree by @FissoreD in #205
- Fix deref assign by @gares in #207
- Api for relocation by @gares in #208
- Update ELPI.md by @gares in #209
- HO api by @gares in #210
- extensible calc by @gares in #211
- Cleanup by @gares in #212
New Contributors
Full Changelog: v1.18.0...v1.18.1
1.18.0
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Camlp5 8.0 or above is optional.
API:
- Change
Setup.inittakes a?state,?quotationsand?hooksdescriptors so that
eachelpihandle is completely independent. - Change
State.declareis deprecated in favor ofState.declare_component - New
State.declare_componentlikeState.declarebut takes a~descriptor - New
State.new_state_descriptor - Change
Quotations.register_named_quotationnow takes a?descriptor - Change
Quotations.set_default_quotationnow takes a?descriptor - Change
Quotations.declare_backticknow takes a?descriptor - Change
Quotations.declare_singlequotenow takes a?descriptor - New
Quotations.new_quotations_descriptor - Change
RawData.set_extra_goals_postprocessingnow takes a?descriptor - New
RawData.new_hoas_descriptor
What's Changed
Full Changelog: v1.17.4...v1.18.0
1.17.4
1.17.3
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Camlp5 8.0 or above is optional.
Builtins:
- Change
unix.processreally disabled on OCaml 4.12
Full Changelog: v1.17.2...v1.17.3