org.combinators.cls.interpreter
Obtains a ReflectedRepository from an instance of any type R
.
Obtains a ReflectedRepository from an instance of any type R
.
Use ReflectedRepository.inhabit or ReflectedRepository.InhabitationBatchJob to perform type inhabitation
with the constructed repository.
If desired, pass in another inhabitation algorithm implementation, e.g. one creating debug information.
the Scala type of the repository.
the instance to obtain reflection information from.
a subtype relation on semantic type constructors used in inst
.
a finite restriction on the space of well-formed substitutions used during inhabitation.
the inhabitation algorithm to use.
the class loader to resolve combinator implementations when interpreting inhabitation results.
reflection information to inspect R
.
a repository that contains every combinator in inst
and has methods to perform inhabitation.
Constructs the full type of a combinator out of a CombinatorInfo object.
Constructs the full type of a combinator out of a CombinatorInfo object. The full type is nativeTypeOf(CombinatorInfo) intersected with the semantic type.
Constructs the native combinator type out of a CombinatorInfo object.
Constructs the native combinator type out of a CombinatorInfo object.
For this, apply(x: A, y: B): C
becomes A =>: B =>: C
.
Translates the reflected native Scala type ty
into an intersection type constant.
Translates native Scala type A
into an intersection type constant.
Helper object to construct a ReflectedRepository.