Releases: LPCIC/elpi
Releases · LPCIC/elpi
1.16.4
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Camlp5 8.0 or above is optional.
-
Tace Elaborator:
- Fix generation and elaboration of incomplete traces
-
Trace:
- New command line syntax
file://
andtcp://
to disambiguate
host:port
on windows (old syntax still supported)
- New command line syntax
1.16.3
1.16.2
1.16.1
1.16.0
CHANGES:
Requires Menhir 20211230 and OCaml 4.08 or above.
Camlp5 8.0 or above is optional.
- Parser:
- Change the character count in the locations is now referring to the
beginning of the text, and not the end
- Change the character count in the locations is now referring to the
- Printer:
- Fix regression not putting parentheses correctly around some applications
- Doc:
- Clarify
InOut
andioarg
doc in the API file
- Clarify
- Trace:
- New
src/trace.atd
data type description for traces - New
src/trace_atd.ts
read/write the trace inTypeScript
- New
elpi-trace-elaborator
tool to turn raw traces into cards to be
displayed by a GUI. Work is in progress on theelpi-lang
VS Code
extension. - Change the raw trace as output by the runtime is way more regular w.r.t.
what is printed when a rule, or a built in rule/predicate is run, also
the runtime_id attribute is now correctly set in all trace objects - Fix the trace file is generated only once the trace is complete, so that
tools can watch for the file creation reliably
- New
1.15.2
CHANGES:
Requires Menhir 20211230 and OCaml 4.07 or above.
Camlp5 8.0 or above is optional.
warning: The parser used by default is not backward compatible with 1.14.x
- Parser:
- Change
pred foo i:A o:B
is valid,pred foo i:A o :B
is not. This
change restores backward compatibility of existing code.
- Change
1.15.1
CHANGES:
Requires Menhir 20211230 and OCaml 4.07 or above.
Camlp5 8.0 or above is optional.
warning: The parser used by default is not backward compatible with 1.14.x
-
Build:
- Change legacy parser not built by default
- New
make config LEGACY_PARSER=1
to enable it - New opam package
elpi-option-legacy-parser
to install elpi with
the legacy parser enabled
-
Parser:
- Fix missing infix
&
(synonym of,
) - New comma separator is optional in
pred
declarations, eg
pred i:A o:B.
is valid syntax
- Fix missing infix
1.15.0
CHANGES:
Requires Menhir 20211230 and OCaml 4.07 or above.
Camlp5 is now optional.
warning: The parser used by default is not backward compatible
-
Parser:
- New parser based on Menhir
- The grammar is not extensible anymore; token families are used to provide
open ended infix symbols, see the documentation - Custom error messages suggesting examples with a valid syntax
- Faster on large files
- The grammar is not extensible anymore; token families are used to provide
- Old parser available via
-legacy-parser
- Only compiled when
camlp5
is available - Supports
infix
and similar mixfix directives
- Only compiled when
- New parser based on Menhir
-
API:
Parse.goal_from_stream
->Parse.goal_from
Parse.program_from_stream
->Parse.program_from
Parse.resolve_file
now takes an~elpi
argumentSetup.init
resolver argument takes a~unit
instead of~file
Setup.init
takes?legacy_parser
Setup.legacy_parser_avaiable
Pp.query
->Pp.program
andPp.goal
-
REPL:
- New
-parse-term
- New
-legacy-parser
- New
-legacy-parser-available
- Removed
-print-accumulated-files
- New