Releases: LPCIC/elpi
Releases · LPCIC/elpi
1.14.0
CHANGES:
- Runtime/FFI:
- Fix handling of eta expanded unification variables. Many thanks to
Nathan Guermond for testing this tricky case. - Change
Rawdata.Constants.eqcto a builtin - Fix
Rawdata.Constants.cutchas always been a builtin - Fix compatibility with OCaml multicore, no more
PtrMap
- Fix handling of eta expanded unification variables. Many thanks to
- API:
- New
FlexibleData.WeakMapto link unification variables with host
data based on OCaml'sEphemeron - Change
Conversion.extra_goalsis now an extensible data type with one
standard constructorConversion.Unifytaking two terms - New
RawData.set_extra_goals_postprocessingcan be used to
post process the extra goals generated by an FFI call.
One has to translate extensions to theextra_goalsdatatype to
RawData.RawGoal(orConversion.Unify), but can also take global
actions like cancelling out useless or duplicate goals - Change
Setup.initto take in input a~file_resolverrather than a list
of~pathsand a~basedir. A custom file resolver can use some logic
from the host application to find files, rather than an hardcoded one - New
Parse.std_resolverbuilding a standard resolver (based on paths) - Change signature of
Parse.resolve_filemaking?cwdexplicit
- New
- Library:
- Better error messages in
std.nth declare_constraintis nowvariadic any prop, so that one can pass
variables of different types as keys for the constraint. A list of variables
(of the same type) is still supported.
- Better error messages in
1.13.8
v1.13.7
v1.13.6
v1.13.5
v1.13.4
v1.13.3
v1.13.2
v1.13.1
CHANGES:
- API:
- New
gc.getandgc.setfor reading and writing GC settings - New
gc.minor - New
gc.major - New
gc.full - New
gc.compact - New
gc.stat - New
gc.quick-stat - New
minandmaxoperators for theisbuiltin, they work on
intandfloat - Rename
rex_match->rex.match - Rename
rex_replace->rex.replace - Rename
rex_split->rex.split - Rename
counter->trace.counter
- New
- FFI:
- New
Builtin.unspectype to express optional input
- New
v1.13.0
CHANGES:
- API:
- Fix
open_appendwas messing up file permissions - New
Parse.resolve_fileto find where the parser would find (or not) an
accumulated file - Change signature of
Compile.unit,Compile.assembleandCompile.extend
and improve their implementation. Units are now smaller and link/relocate
faster (making~followsnot worth it)
- Fix
- CI:
- Switch to Github actions and avsm/setup-ocaml. Now testing on Linux, MacOS
and Windows. Artifacts produce binaries for all platforms and a benchmarks
plot.
- Switch to Github actions and avsm/setup-ocaml. Now testing on Linux, MacOS
- Library:
- New
if2 - New
std.map-ok - New
std.fold-map - New
std.intersperse - New
std.omap - New
std.take-last - New
std.string.concat
- New