Safe Haskell | None |
---|
Language.Nano.Liquid.Types
Contents
Description
Module pertaining to Refinement Type descriptions and conversions
Likely mergeable with Language.Nano.Typecheck.Types
- type RefType = RType Reft
- type REnv = Env RefType
- type NanoRefType = Nano AnnType RefType
- data CGEnv = CGE {}
- emptyCGEnv :: CGEnv
- newtype Cinfo = Ci SourcePos
- ci :: IsLocated a => a -> Cinfo
- data SubC = Sub {}
- data WfC = W {}
- type FixSubC = SubC Cinfo
- type FixWfC = WfC Cinfo
- class RefTypable a where
- eSingleton :: Expression e => RefType -> e -> RefType
- pSingleton :: Predicate p => RefType -> p -> RefType
- rTypeReft :: Reftable r => RType r -> Reft
- rTypeSort :: Reftable r => RType r -> Sort
- rTypeSortedReft :: Reftable r => RType r -> SortedReft
- rTypeValueVar :: Reftable r => RType r -> Symbol
- isBaseRType :: RType r -> Bool
- isTrivialRefType :: RefType -> Bool
- mapReftM :: (Reftable b, Monad m, Applicative m) => (a -> m b) -> RType a -> m (RType b)
- prefixOpRTy :: PrefixOp -> CGEnv -> RefType
- infixOpRTy :: InfixOp -> CGEnv -> RefType
Refinement Types and Environments
type NanoRefType = Nano AnnType RefTypeSource
Constraint Environments
Constraint Generation Environment ---------------------------------------------
Constructors
CGE | |
Instances
PP CGEnv |
Constraint Information
Constraint Information ------------------------------------------------
Constructors
Ci SourcePos |
Constraints
Constraints -----------------------------------------------------------
Subtyping Constraints
Constructors
Sub | |
Wellformedness Constraints
Constructors
W | |
Conversions
class RefTypable a whereSource
Embedding Values as RefTypes --------------------------------------
Instances
eSingleton :: Expression e => RefType -> e -> RefTypeSource
pSingleton :: Predicate p => RefType -> p -> RefTypeSource
Manipulating RefType
rTypeSortedReft :: Reftable r => RType r -> SortedReftSource
Converting RType to Fixpoint --------------------------------------------
rTypeValueVar :: Reftable r => RType r -> SymbolSource
Predicates On RefType
isBaseRType :: RType r -> BoolSource
Monadic map (TODO: Applicative/Traversable)
Primitive Types
prefixOpRTy :: PrefixOp -> CGEnv -> RefTypeSource
infixOpRTy :: InfixOp -> CGEnv -> RefTypeSource