Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

mlsub.typing.lowlevel.* (24)

mlsub.typing: Javadoc index of package mlsub.typing.


Package Samples:

mlsub.typing.lowlevel: Implementation of a type checker for the ML-Sub type system.  

Classes:

Domain: A "Domain" is a BitVector that holds all the possible values of a variable. A value can be any rigid variable or a special constant called "unit" which implements all the interfaces of the constraint but is comparable with no rigid variable. This is to handle satisfiability in the absence of any satisfiability witness For example, the constraint x <= x IS satisfiable even if there is no rigid variable. In this case, the domain of x is {unit} When a domain becomes empty, i.e., when it does not contain any rigid variable nor unit, it means that the contraint is unsatisfiable.
DomainVector: A DomainVector maintains an upper approximation of the set of solutions of a constraint. What is handled dynamically : constraints between rigid and soft variables. Constraints between soft variables are handled in gfp(). RMK: only garbage indexes can have null domains
TypeConstructorLeqMonotypeCst: Constraint a type constructor to be lower than a monotype's head. The constraint is posed on the raw monotype, after the nullness marker.
Variance: Variance of a type constructor. There is one instance of this class per Variance, so pointer equality can be used on variances.
Kind: Something that knows how to assert constraints on objects of this "Kind" (implemented by Variance, Low level constraints... )
LowlevelIncompatibleClash: Thrown when the constraint implies that a and b have a common subtype or supertype, but a and b are rigid and this is not true
LowlevelRigidClash: Thrown when the constraint implies that x1 be a subtype of x2 but x1 and x2 are rigid and x1 is not a subtype of x2
Engine: Public interface to the lowlevel constraint implication checker. All accesses are done through this Engine.
AtomicKind: An atomic kind. Its elements cannot be further decomposed, they are compared in a constraint.
LowlevelImplementsClash: Thrown when the constraint implies that the rigid variable a implement i which is not the case
BitVector: Same as java.util.BitSet, without the synchronization stuff plus additional features.
KindUnsatisfiable: Implemented by subclasses of Unsatisfiable to indicate that this is a kind error
KindingEx: Reports that two types that have to be compared do not have the same kind
MonotypeConstructor: A monotype, build by application of a type constructor to type parameters.
BitMatrix: A square matrix of bits, used to represent a relation between integers.
InternalError: Unexpected error. Denotes a bug in the package, or a misusage of it.
InternalError: Unexpected error. Denotes a bug in the package, or a misusage of it.
Separator: For pretty-printing lists separated by commas or semi-colons or, etc.
TypeSymbol: A type symbol. This is what a type identifier can resolve to.
Satisfier: A repository for static methods used during satisfiability test
TypeConstructor: A class. It "needs" type parameters to become a Monotype
IntVect: A growable array of integers. Same API as for TVect
MonotypeLeqEx: Error when asserting inequality between monotypes.
MonotypeLeqTcCst: A monotype's head is less than a type constructor.

Home | Contact Us | Privacy Policy | Terms of Service