| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Tools.Rewrite.Match.Types
Description
UPattern matching on type-level AST fragments for refactorings.
Synopsis
- pattern ForallType :: TyVarList -> Type -> Type
- pattern CtxType :: Context -> Type -> Type
- pattern FunctionType :: Type -> Type -> Type
- pattern TupleType :: TypeList -> Type
- pattern UnboxedTupleType :: TypeList -> Type
- pattern ListType :: Type -> Type
- pattern ParArrayType :: Type -> Type
- pattern TypeApp :: Type -> Type -> Type
- pattern InfixTypeApp :: Type -> Operator -> Type -> Type
- pattern ParenType :: Type -> Type
- pattern VarType :: Name -> Type
- pattern KindedType :: Type -> Kind -> Type
- pattern BangType :: Type -> Type
- pattern LazyType :: Type -> Type
- pattern UnpackType :: Type -> Type
- pattern NoUnpackType :: Type -> Type
- pattern WildcardType :: Type
- pattern NamedWildcardType :: Name -> Type
- pattern SpliceType :: Splice -> Type
- pattern QuasiQuoteType :: QuasiQuote -> Type
- pattern PromotedIntType :: Integer -> Type
- pattern PromotedStringType :: String -> Type
- pattern PromotedConType :: Name -> Type
- pattern PromotedListType :: TypeList -> Type
- pattern PromotedTupleType :: TypeList -> Type
- pattern PromotedUnitType :: Type
- pattern UnboxedSumType :: TypeList -> Type
- pattern TyVarDecl :: Name -> TyVar
- pattern KindedTyVarDecl :: Name -> Kind -> TyVar
- pattern Context :: Assertion -> Context
- pattern ClassAssert :: Name -> TypeList -> Assertion
- pattern InfixAssert :: Type -> Operator -> Type -> Assertion
- pattern ImplicitAssert :: Name -> Type -> Assertion
- pattern TupleAssert :: [Assertion] -> Assertion
Types
pattern UnboxedTupleType :: TypeList -> Type Source #
Unboxed tuple types ( (#a,b#) )
pattern ParArrayType :: Type -> Type Source #
Parallel array type ( [:a:] )
pattern InfixTypeApp :: Type -> Operator -> Type -> Type Source #
Infix type constructor ( (a <: b) )
pattern LazyType :: Type -> Type Source #
Lazy type marked with ~. (Should only be used if Strict or StrictData language extension is used)
pattern UnpackType :: Type -> Type Source #
Strict type marked with UNPACK pragma. (Usually contains the bang mark.)
pattern NoUnpackType :: Type -> Type Source #
Strict type marked with NOUNPACK pragma. (Usually contains the bang mark.)
pattern WildcardType :: Type Source #
A wildcard type ( _ ) with -XPartialTypeSignatures
pattern NamedWildcardType :: Name -> Type Source #
A named wildcard type ( _t ) with -XPartialTypeSignatures
pattern SpliceType :: Splice -> Type Source #
A Template Haskell splice type ( $(genType) ).
pattern QuasiQuoteType :: QuasiQuote -> Type Source #
A Template Haskell splice type ( $(genType) ).
pattern PromotedIntType :: Integer -> Type Source #
Numeric value promoted to the type level.
pattern PromotedStringType :: String -> Type Source #
String value promoted to the type level.
pattern PromotedConType :: Name -> Type Source #
A data constructor value promoted to the type level.
pattern PromotedListType :: TypeList -> Type Source #
A list of elements as a type.
pattern PromotedTupleType :: TypeList -> Type Source #
A tuple of elements as a type.
pattern PromotedUnitType :: Type Source #
Kind of the unit value ().
pattern UnboxedSumType :: TypeList -> Type Source #
An unboxed sum type.
Type variable
pattern KindedTyVarDecl :: Name -> Kind -> TyVar Source #
Kinded type variable declaration ( v :: * )
Contexts
Assertions
pattern InfixAssert :: Type -> Operator -> Type -> Assertion Source #
Infix class assertion, also contains type equations ( a ~ X y )
pattern ImplicitAssert :: Name -> Type -> Assertion Source #
Assertion for implicit parameter binding ( ?cmp :: a -> a -> Bool )
pattern TupleAssert :: [Assertion] -> Assertion Source #
A list of assertions ( (Eq a, Show a) )