Embeddable Lambda Prolog Interpreter
CHANGES:
Language:
E
in
sequent E : _ ?- _
. Meaningful terms are lists or unification variablesCHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Language:
:index
acecpts an optional string to force "Hash"
based indexingAPI:
clause_of_term
accepts a `Replace
grafting directiveFull Changelog: https://github.com/LPCIC/elpi/compare/v1.18.1...v1.18.2
Requires Menhir 20211230 and OCaml 4.08 or above.
Parser:
API:
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.solution.relocate_assignment_to_runtime
to pass a query result
to another queryBuiltInPredicate.FullHO
for higher order external predicatesBuiltInPredicate.HOAdaptors
for map
and filter
like HO predicatesCalc.register
to register operators for calc
(aka infix is
)Library:
std.fold-right
Runtime:
:index
directive selects only one argument with a depth > 1
.Full Changelog: https://github.com/LPCIC/elpi/compare/v1.18.0...v1.18.1
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
API:
Setup.init
takes a ?state
, ?quotations
and ?hooks
descriptors so that
each elpi
handle is completely independent.State.declare
is deprecated in favor of State.declare_component
State.declare_component
like State.declare
but takes a ~descriptor
State.new_state_descriptor
Quotations.register_named_quotation
now takes a ?descriptor
Quotations.set_default_quotation
now takes a ?descriptor
Quotations.declare_backtick
now takes a ?descriptor
Quotations.declare_singlequote
now takes a ?descriptor
Quotations.new_quotations_descriptor
RawData.set_extra_goals_postprocessing
now takes a ?descriptor
RawData.new_hoas_descriptor
Full Changelog: https://github.com/LPCIC/elpi/compare/v1.17.4...v1.18.0
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
Parser:
Full Changelog: https://github.com/LPCIC/elpi/compare/v1.17.3...v1.17.4
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
Builtins:
unix.process
really disabled on OCaml 4.12Full Changelog: https://github.com/LPCIC/elpi/compare/v1.17.2...v1.17.3
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
Builtins:
unix.process
disabled on OCaml 4.12Full Changelog: https://github.com/LPCIC/elpi/compare/v1.17.1...v1.17.2
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
Builtins:
unix.process
datatype and unix.process.open/close
APIsFull Changelog: https://github.com/LPCIC/elpi/compare/v1.17.0...v1.17.1
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
Compiler:
Parser:
)
misleading the user)Builtins:
declare_constraint
to any -> any -> variadic any prop
making it explicitly take at least two argumentsTrace browser:
Full Changelog: https://github.com/LPCIC/elpi/compare/v1.16.10...v1.17.0
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above. Camlp5 8.0 or above is optional.
:replace
which replaces a named clause by an unnamed oneTrace browser: