Releases: LPCIC/elpi
Releases · LPCIC/elpi
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
InOutandioargdoc in the API file
- Clarify
- Trace:
- New
src/trace.atddata type description for traces - New
src/trace_atd.tsread/write the trace inTypeScript - New
elpi-trace-elaboratortool to turn raw traces into cards to be
displayed by a GUI. Work is in progress on theelpi-langVS 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:Bis valid,pred foo i:A o :Bis 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=1to enable it - New opam package
elpi-option-legacy-parserto install elpi with
the legacy parser enabled
-
Parser:
- Fix missing infix
&(synonym of,) - New comma separator is optional in
preddeclarations, 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
camlp5is available - Supports
infixand similar mixfix directives
- Only compiled when
- New parser based on Menhir
-
API:
Parse.goal_from_stream->Parse.goal_fromParse.program_from_stream->Parse.program_fromParse.resolve_filenow takes an~elpiargumentSetup.initresolver argument takes a~unitinstead of~fileSetup.inittakes?legacy_parserSetup.legacy_parser_avaiablePp.query->Pp.programandPp.goal
-
REPL:
- New
-parse-term - New
-legacy-parser - New
-legacy-parser-available - Removed
-print-accumulated-files
- New