Releases: LPCIC/elpi
Releases · LPCIC/elpi
v1.12.0
CHANGES:
- FFI:
RawOpaqueData.cinnow returns a term and takesconstantsinto account.
Whenever a value is represented with a named constant, the API grants that:- the value is embedded using that constant
- that constant is read back to the original value
- API:
- New
Compile.extendto (quickly) add clauses to a program - New argument
?follows:programtoCompile.unitto have the unit
be compiled using the very same symbol table (no new symbols can be
declared by the unit in this case)
- New
- Library:
- rename
map2_filter->map2-filter - new
map-filter
- rename
- Build:
- use md5 (OCaml's digest) instead of sha1 (external utility)
v1.11.4
v1.11.3
CHANGES:
- ppxfindcache: use
shasuminstead ofsha1sum - Parser: print file names in a VScode friendly way
- Fix opam package dependency on camlp5 and ppxlib
- Fix output of
-print*options to theelpicommand line utility - New builtin
rex_split(like OCaml'sStr.split)
v1.11.2
v1.11.1
v1.11.0
CHANGES:
-
Builtin:
varnow accepts 3 arguments, asconstantandname.
-
Trace:
- output facilities: json and tty on both files and network sockets
- trace messages to link goals to their subgoals
- spy points categorized into
useranddev - all trace points were revised and improved
- port to ppxlib
-
Build system:
- minimal build dependencies are now: camlp5 ocamlfind dune re
- cache ppx output in .ml format in
src/.ppcachethat Elpi can be buildt
withoutppx_deriving.stdandelpi.trace.ppxusing a new tool in
ppxfindcache/ - vendor a copy of
ppx_deriving_runtime(suffix_proxy) to be used when
ppx_derivingis not installed - generate custom
merlinppx.exeforsrc/and and patch.merlinfile so
that one can have decent merlin support - make target
test-noppxto compile on an alternative opam switch
v1.10.2
v1.10.1
v1.10.0
CHANGES:
-
Compiler:
- large refactoring to separate the table of global (statically initialized)
symbols, the table of symbols of a program being compiled and the table
of symbols used at runtime. - API for separate compilation.
- large refactoring to separate the table of global (statically initialized)
-
API:
- Setup.init now returns a handle to an elpi instance to be passed to
many other APIs. - New APIs Compile.unit and Compile.assemble for separate compilation.
- Constants.from_stringc and Constants.mk*S API removed in favor for
Constants.declare_global_symbol (to be used in module initialization code).
- Setup.init now returns a handle to an elpi instance to be passed to
v1.9.1
CHANGES:
-
Tests:
- Fix testing framework on runners pre 1.9.0.
-
Parser:
- Line nubers after quotations were wrong, since
\ninside
quotations were not taken into account.
- Line nubers after quotations were wrong, since
-
Typing:
- Name alias abbreviations are not refolded in error messages.
Eg.typeabbrev x intdoes not take overint, while
typeabbrev x (list int)does overlist int. - Fix type abbreviation refolding, was not working on some cases.
- Name alias abbreviations are not refolded in error messages.
-
Stdlib:
- Fix
isfunctionint_of_stringto do what it says - New
isfunctionrhc : string -> intcomputes the inverse ofchr
- Fix