Safe Haskell | Safe-Inferred |
---|
Predicates on type expressions.
- isBNone :: Bind n -> Bool
- isBAnon :: Bind n -> Bool
- isBName :: Bind n -> Bool
- isTVar :: Type n -> Bool
- isBot :: Type n -> Bool
- isAtomT :: Type n -> Bool
- isDataKind :: Kind n -> Bool
- isRegionKind :: Region n -> Bool
- isEffectKind :: Kind n -> Bool
- isClosureKind :: Kind n -> Bool
- isWitnessKind :: Kind n -> Bool
- isAlgDataType :: Eq n => Type n -> Bool
- isWitnessType :: Eq n => Type n -> Bool
- isConstWitType :: Eq n => Type n -> Bool
- isMutableWitType :: Eq n => Type n -> Bool
- isDistinctWitType :: Eq n => Type n -> Bool
- isReadEffect :: Effect n -> Bool
- isWriteEffect :: Effect n -> Bool
- isAllocEffect :: Effect n -> Bool
- isSomeReadEffect :: Effect n -> Bool
- isSomeWriteEffect :: Effect n -> Bool
- isSomeAllocEffect :: Effect n -> Bool
Binders
Atoms
Kinds
isDataKind :: Kind n -> BoolSource
Check if some kind is the data kind.
isRegionKind :: Region n -> BoolSource
Check if some kind is the region kind.
isEffectKind :: Kind n -> BoolSource
Check if some kind is the effect kind.
isClosureKind :: Kind n -> BoolSource
Check if some kind is the closure kind.
isWitnessKind :: Kind n -> BoolSource
Check if some kind is the witness kind.
Data Types
isAlgDataType :: Eq n => Type n -> BoolSource
Check whether this type is that of algebraic data.
It needs to have an explicit data constructor out the front,
and not a type variable. The constructor must not be the function
constructor, and must return a value of kind *
.
isWitnessType :: Eq n => Type n -> BoolSource
Check whether type is a witness constructor
isConstWitType :: Eq n => Type n -> BoolSource
Check whether this is the type of a Const
witness.
isMutableWitType :: Eq n => Type n -> BoolSource
Check whether this is the type of a Mutable
witness.
isDistinctWitType :: Eq n => Type n -> BoolSource
Check whether this is the type of a Distinct
witness.
Effect Types
isReadEffect :: Effect n -> BoolSource
Check whether this is an atomic read effect.
isWriteEffect :: Effect n -> BoolSource
Check whether this is an atomic write effect.
isAllocEffect :: Effect n -> BoolSource
Check whether this is an atomic alloc effect.
isSomeReadEffect :: Effect n -> BoolSource
Check whether an effect is some sort of read effect.
Matches Read
HeadRead
and DeepRead
.
isSomeWriteEffect :: Effect n -> BoolSource
Check whether an effect is some sort of allocation effect.
Matches Alloc
and DeepAlloc
isSomeAllocEffect :: Effect n -> BoolSource
Check whether an effect is some sort of allocation effect.
Matches Alloc
and DeepAlloc