package inferno
Install
Dune Dependency
Authors
Maintainers
Sources
md5=c1497a35814f2e006ea5adea6008ee7a
sha512=d00e2c3e3524d4dd3cba98ab6a8f1f9e95c475993c42f24bf4c46ddb527ae74b37ac1fec118a385556dadb733caeaaa071d06e536c91097045439ab39be25e65
CHANGES.md.html
Changes
2021/12/22
Incompatible changes to the solver's high-level API. The concept of a
binder
has been introduced, and OCaml's binding operatorslet@
,let+
,and+
are now used, so as to make it easier to build constraints. (Contributed by Olivier Martinot and Gabriel Scherer.) The types of the combinatorsexist
andconstruct
have been simplified. The new combinatorwitness
can be used to get access to the witness (that is, the final decoded type) for a type variable.
2020/11/04
In the solver's high-level API, introduce a new combinator
range
, which allows annotating a constraint with a range of source code positions. Incompatible change: the exceptionsUnbound
,Unify
, andCycle
now carry a range.In the solver's high-level API, define the type
deep_ty
of deep types, and introduce a new functionbuild
, which converts a deep type into a type variable, allowing it to appear in a constraint.In the solver's high-level API, introduce a new function
instance_
. This is a variant ofinstance
. This function is more convenient (and more efficient) thaninstance
when one does not need to know how a type scheme was instantiated.
2020/10/01
Change the signature
SolverSig.OUTPUT
so as to maketyvar
an abstract type. An injection functionsolver_tyvar : int -> tyvar
is introduced.Add n-ary products to the System F demo. (Contributed by Gabriel Scherer and Olivier Martinot.)
Some cleanup in the directory structure.
2019/09/24
Use
dune
instead ofocamlbuild
. All necessary library files should now be properly installed (which was not the case in the previous version).
2018/04/05
First release of Inferno as an
opam
package.