retrie-1.2.2: A powerful, easy-to-use codemodding tool for Haskell.

Safe Haskell | Safe-Inferred
Language | Haskell2010

Retrie.PatternMap.Instances

Synopsis

- data TupArgMap a = TupArgMap {
  - tamPresent :: EMap a
  - tamMissing :: MaybeMap a
  }
- data BoxityMap a = BoxityMap {
  - boxBoxed :: MaybeMap a
  - boxUnboxed :: MaybeMap a
  }
- data VMap a
  - = VM {
    - bvmap :: IntMap a
    - fvmap :: FSEnv a
    }
  - | VMEmpty
- data LMap a
  - = LMEmpty
  - | LM {
    - lmChar :: Map Char a
    - lmCharPrim :: Map Char a
    - lmString :: FSEnv a
    - lmStringPrim :: Map ByteString a
    - lmInt :: BoolMap (Map Integer a)
    - lmIntPrim :: Map Integer a
    - lmWordPrim :: Map Integer a
    - lmInt64Prim :: Map Integer a
    - lmWord64Prim :: Map Integer a
    }
- emptyLMapWrapper :: LMap a
- data OLMap a
  - = OLMEmpty
  - | OLM {
    - olmIntegral :: BoolMap (Map Integer a)
    - olmFractional :: Map Rational a
    - olmIsString :: FSEnv a
    }
- emptyOLMapWrapper :: OLMap a
- data EMap a
  - = EMEmpty
  - | EM {
    - emHole :: Map RdrName a
    - emVar :: VMap a
    - emIPVar :: FSEnv a
    - emOverLit :: OLMap a
    - emLit :: LMap a
    - emLam :: MGMap a
    - emApp :: EMap (EMap a)
    - emOpApp :: EMap (EMap (EMap a))
    - emNegApp :: EMap a
    - emPar :: EMap a
    - emExplicitTuple :: BoxityMap (ListMap TupArgMap a)
    - emCase :: EMap (MGMap a)
    - emSecL :: EMap (EMap a)
    - emSecR :: EMap (EMap a)
    - emIf :: EMap (EMap (EMap a))
    - emLet :: LBMap (EMap a)
    - emDo :: SCMap (SLMap a)
    - emExplicitList :: ListMap EMap a
    - emRecordCon :: VMap (ListMap RFMap a)
    - emRecordUpd :: EMap (ListMap RFMap a)
    - emExprWithTySig :: EMap (TyMap a)
    }
- emptyEMapWrapper :: EMap a
- extendResult :: Map RdrName a -> HoleVal -> Substitution -> [(Substitution, a)]
- singleton :: [a] -> Maybe a
- sameHoleValue :: HoleVal -> HoleVal -> Maybe ()
- alphaEquivalent :: PatternMap m => Key m -> Key m -> m () -> Maybe ()
- data SCMap a
  - = SCEmpty
  - | SCM {
    - scmListComp :: MaybeMap a
    - scmMonadComp :: MaybeMap a
    - scmDoExpr :: FSEnv a
    }
- emptySCMapWrapper :: SCMap a
- newtype MGMap a = MGMap {
  - unMGMap :: ListMap MMap a
  }
- newtype MMap a = MMap {
  - unMMap :: ListMap PatMap (GRHSSMap a)
  }
- data CDMap a
  - = CDEmpty
  - | CDMap {
    - cdPrefixCon :: ListMap PatMap a
    - cdInfixCon :: PatMap (PatMap a)
    }
- emptyCDMapWrapper :: CDMap a
- data PatMap a
  - = PatEmpty
  - | PatMap {
    - pmHole :: Map RdrName a
    - pmWild :: MaybeMap a
    - pmVar :: MaybeMap a
    - pmParPat :: PatMap a
    - pmTuplePat :: BoxityMap (ListMap PatMap a)
    - pmConPatIn :: FSEnv (CDMap a)
    }
- emptyPatMapWrapper :: PatMap a
- newtype GRHSSMap a = GRHSSMap {
  - unGRHSSMap :: LBMap (ListMap GRHSMap a)
  }
- newtype GRHSMap a = GRHSMap {
  - unGRHSMap :: SLMap (EMap a)
  }
- data SLMap a
  - = SLEmpty
  - | SLM {
    - slmNil :: MaybeMap a
    - slmCons :: SMap (SLMap a)
    }
- emptySLMapWrapper :: SLMap a
- data LBMap a
  - = LBEmpty
  - | LB {
    - lbValBinds :: ListMap BMap a
    - lbEmpty :: MaybeMap a
    }
- emptyLBMapWrapper :: LBMap a
- deValBinds :: HsValBinds GhcPs -> [HsBind GhcPs]
- data BMap a
  - = BMEmpty
  - | BM {
    - bmFunBind :: MGMap a
    - bmVarBind :: EMap a
    - bmPatBind :: PatMap (GRHSSMap a)
    }
- emptyBMapWrapper :: BMap a
- data SMap a
  - = SMEmpty
  - | SM {
    - smLastStmt :: EMap a
    - smBindStmt :: PatMap (EMap a)
    - smBodyStmt :: EMap a
    }
- emptySMapWrapper :: SMap a
- data TyMap a
  - = TyEmpty
  - | TM {
    - tyHole :: Map RdrName a
    - tyHsTyVar :: VMap a
    - tyHsAppTy :: TyMap (TyMap a)
    - tyHsForAllTy :: ForallVisMap (ForAllTyMap a)
    - tyHsFunTy :: TyMap (TyMap a)
    - tyHsListTy :: TyMap a
    - tyHsParTy :: TyMap a
    - tyHsQualTy :: TyMap (ListMap TyMap a)
    - tyHsSumTy :: ListMap TyMap a
    - tyHsTupleTy :: TupleSortMap (ListMap TyMap a)
    }
- emptyTyMapWrapper :: TyMap a
- splitVisBinders :: HsForAllTelescope GhcPs -> (Bool, [(RdrName, Maybe (LHsKind GhcPs))])
- extractBinderInfo :: LHsTyVarBndr flag GhcPs -> (RdrName, Maybe (LHsKind GhcPs))
- newtype RFMap a = RFM {
  - rfmField :: VMap (EMap a)
  }
- class RecordFieldToRdrName f where
  - recordFieldToRdrName :: f -> RdrName
- fieldsToRdrNamesUpd :: Either [LHsRecUpdField GhcPs] [LHsRecUpdProj GhcPs] -> [LHsRecField GhcPs (LHsExpr GhcPs)]
- data TupleSortMap a = TupleSortMap {
  - tsUnboxed :: MaybeMap a
  - tsBoxed :: MaybeMap a
  - tsConstraint :: MaybeMap a
  - tsBoxedOrConstraint :: MaybeMap a
  }
- data ForAllTyMap a = ForAllTyMap {
  - fatNil :: TyMap a
  - fatUser :: ForAllTyMap a
  - fatKinded :: TyMap (ForAllTyMap a)
  }
- newtype ForallVisMap a = ForallVisMap {
  - favBoolMap :: BoolMap a
  }

# Documentation

data TupArgMap a #

Constructors

TupArgMap |

Fields

- tamPresent :: EMap a
- tamMissing :: MaybeMap a

#### Instances

Instances details

Functor TupArgMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> TupArgMap a -> TupArgMap b # (<$) :: a -> TupArgMap b -> TupArgMap a #
PatternMap TupArgMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key TupArgMap # Methods mEmpty :: TupArgMap a # mUnion :: TupArgMap a -> TupArgMap a -> TupArgMap a # mAlter :: AlphaEnv -> Quantifiers -> Key TupArgMap -> A a -> TupArgMap a -> TupArgMap a # mMatch :: MatchEnv -> Key TupArgMap -> (Substitution, TupArgMap a) -> [(Substitution, a)] #
type Key TupArgMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key TupArgMap = HsTupArg GhcPs

data BoxityMap a #

Constructors

BoxityMap |

Fields

- boxBoxed :: MaybeMap a
- boxUnboxed :: MaybeMap a

#### Instances

Instances details

Functor BoxityMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> BoxityMap a -> BoxityMap b # (<$) :: a -> BoxityMap b -> BoxityMap a #
PatternMap BoxityMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key BoxityMap # Methods mEmpty :: BoxityMap a # mUnion :: BoxityMap a -> BoxityMap a -> BoxityMap a # mAlter :: AlphaEnv -> Quantifiers -> Key BoxityMap -> A a -> BoxityMap a -> BoxityMap a # mMatch :: MatchEnv -> Key BoxityMap -> (Substitution, BoxityMap a) -> [(Substitution, a)] #
type Key BoxityMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key BoxityMap = Boxity

data VMap a #

Constructors

VM |

Fields

- bvmap :: IntMap a
- fvmap :: FSEnv a

VMEmpty |

#### Instances

Instances details

Functor VMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> VMap a -> VMap b # (<$) :: a -> VMap b -> VMap a #
PatternMap VMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key VMap # Methods mEmpty :: VMap a # mUnion :: VMap a -> VMap a -> VMap a # mAlter :: AlphaEnv -> Quantifiers -> Key VMap -> A a -> VMap a -> VMap a # mMatch :: MatchEnv -> Key VMap -> (Substitution, VMap a) -> [(Substitution, a)] #
type Key VMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key VMap = RdrName

data LMap a #

Constructors

LMEmpty |
LM |

Fields

- lmChar :: Map Char a
- lmCharPrim :: Map Char a
- lmString :: FSEnv a
- lmStringPrim :: Map ByteString a
- lmInt :: BoolMap (Map Integer a)
- lmIntPrim :: Map Integer a
- lmWordPrim :: Map Integer a
- lmInt64Prim :: Map Integer a
- lmWord64Prim :: Map Integer a

#### Instances

Instances details

Functor LMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> LMap a -> LMap b # (<$) :: a -> LMap b -> LMap a #
PatternMap LMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key LMap # Methods mEmpty :: LMap a # mUnion :: LMap a -> LMap a -> LMap a # mAlter :: AlphaEnv -> Quantifiers -> Key LMap -> A a -> LMap a -> LMap a # mMatch :: MatchEnv -> Key LMap -> (Substitution, LMap a) -> [(Substitution, a)] #
type Key LMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key LMap = HsLit GhcPs

emptyLMapWrapper :: LMap a #

data OLMap a #

Constructors

OLMEmpty |
OLM |

Fields

- olmIntegral :: BoolMap (Map Integer a)
- olmFractional :: Map Rational a
- olmIsString :: FSEnv a

#### Instances

Instances details

Functor OLMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> OLMap a -> OLMap b # (<$) :: a -> OLMap b -> OLMap a #
PatternMap OLMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key OLMap # Methods mEmpty :: OLMap a # mUnion :: OLMap a -> OLMap a -> OLMap a # mAlter :: AlphaEnv -> Quantifiers -> Key OLMap -> A a -> OLMap a -> OLMap a # mMatch :: MatchEnv -> Key OLMap -> (Substitution, OLMap a) -> [(Substitution, a)] #
type Key OLMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key OLMap = OverLitVal

emptyOLMapWrapper :: OLMap a #

data EMap a #

Constructors

EMEmpty |
EM |

Fields

- emHole :: Map RdrName a
- emVar :: VMap a
- emIPVar :: FSEnv a
- emOverLit :: OLMap a
- emLit :: LMap a
- emLam :: MGMap a
- emApp :: EMap (EMap a)
- emOpApp :: EMap (EMap (EMap a))
- emNegApp :: EMap a
- emPar :: EMap a
- emExplicitTuple :: BoxityMap (ListMap TupArgMap a)
- emCase :: EMap (MGMap a)
- emSecL :: EMap (EMap a)
- emSecR :: EMap (EMap a)
- emIf :: EMap (EMap (EMap a))
- emLet :: LBMap (EMap a)
- emDo :: SCMap (SLMap a)
- emExplicitList :: ListMap EMap a
- emRecordCon :: VMap (ListMap RFMap a)
- emRecordUpd :: EMap (ListMap RFMap a)
- emExprWithTySig :: EMap (TyMap a)

#### Instances

Instances details

Functor EMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> EMap a -> EMap b # (<$) :: a -> EMap b -> EMap a #
PatternMap EMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key EMap # Methods mEmpty :: EMap a # mUnion :: EMap a -> EMap a -> EMap a # mAlter :: AlphaEnv -> Quantifiers -> Key EMap -> A a -> EMap a -> EMap a # mMatch :: MatchEnv -> Key EMap -> (Substitution, EMap a) -> [(Substitution, a)] #
type Key EMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key EMap = LocatedA (HsExpr GhcPs)

emptyEMapWrapper :: EMap a #

extendResult :: Map RdrName a -> HoleVal -> Substitution -> [(Substitution, a)] #

singleton :: [a] -> Maybe a #

sameHoleValue :: HoleVal -> HoleVal -> Maybe () #

Determine if two expressions are alpha-equivalent.

alphaEquivalent :: PatternMap m => Key m -> Key m -> m () -> Maybe () #

data SCMap a #

Constructors

SCEmpty |
SCM |

Fields

- scmListComp :: MaybeMap a
- scmMonadComp :: MaybeMap a
- scmDoExpr :: FSEnv a

#### Instances

Instances details

Functor SCMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> SCMap a -> SCMap b # (<$) :: a -> SCMap b -> SCMap a #
PatternMap SCMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key SCMap # Methods mEmpty :: SCMap a # mUnion :: SCMap a -> SCMap a -> SCMap a # mAlter :: AlphaEnv -> Quantifiers -> Key SCMap -> A a -> SCMap a -> SCMap a # mMatch :: MatchEnv -> Key SCMap -> (Substitution, SCMap a) -> [(Substitution, a)] #
type Key SCMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key SCMap = HsDoFlavour

emptySCMapWrapper :: SCMap a #

newtype MGMap a #

Constructors

MGMap |

Fields

- unMGMap :: ListMap MMap a

#### Instances

Instances details

Functor MGMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> MGMap a -> MGMap b # (<$) :: a -> MGMap b -> MGMap a #
PatternMap MGMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key MGMap # Methods mEmpty :: MGMap a # mUnion :: MGMap a -> MGMap a -> MGMap a # mAlter :: AlphaEnv -> Quantifiers -> Key MGMap -> A a -> MGMap a -> MGMap a # mMatch :: MatchEnv -> Key MGMap -> (Substitution, MGMap a) -> [(Substitution, a)] #
type Key MGMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key MGMap = MatchGroup GhcPs (LocatedA (HsExpr GhcPs))

newtype MMap a #

Constructors

MMap |

Fields

- unMMap :: ListMap PatMap (GRHSSMap a)

#### Instances

Instances details

Functor MMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> MMap a -> MMap b # (<$) :: a -> MMap b -> MMap a #
PatternMap MMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key MMap # Methods mEmpty :: MMap a # mUnion :: MMap a -> MMap a -> MMap a # mAlter :: AlphaEnv -> Quantifiers -> Key MMap -> A a -> MMap a -> MMap a # mMatch :: MatchEnv -> Key MMap -> (Substitution, MMap a) -> [(Substitution, a)] #
type Key MMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key MMap = Match GhcPs (LocatedA (HsExpr GhcPs))

data CDMap a #

Constructors

CDEmpty |
CDMap |

Fields

- cdPrefixCon :: ListMap PatMap a
- cdInfixCon :: PatMap (PatMap a)

#### Instances

Instances details

Functor CDMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> CDMap a -> CDMap b # (<$) :: a -> CDMap b -> CDMap a #
PatternMap CDMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key CDMap # Methods mEmpty :: CDMap a # mUnion :: CDMap a -> CDMap a -> CDMap a # mAlter :: AlphaEnv -> Quantifiers -> Key CDMap -> A a -> CDMap a -> CDMap a # mMatch :: MatchEnv -> Key CDMap -> (Substitution, CDMap a) -> [(Substitution, a)] #
type Key CDMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key CDMap = HsConDetails (HsConPatTyArg GhcPs) (LocatedA (Pat GhcPs)) (HsRecFields GhcPs (LocatedA (Pat GhcPs)))

emptyCDMapWrapper :: CDMap a #

data PatMap a #

Constructors

PatEmpty |
PatMap |

Fields

- pmHole :: Map RdrName a
- pmWild :: MaybeMap a
- pmVar :: MaybeMap a
- pmParPat :: PatMap a
- pmTuplePat :: BoxityMap (ListMap PatMap a)
- pmConPatIn :: FSEnv (CDMap a)

#### Instances

Instances details

Functor PatMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> PatMap a -> PatMap b # (<$) :: a -> PatMap b -> PatMap a #
PatternMap PatMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key PatMap # Methods mEmpty :: PatMap a # mUnion :: PatMap a -> PatMap a -> PatMap a # mAlter :: AlphaEnv -> Quantifiers -> Key PatMap -> A a -> PatMap a -> PatMap a # mMatch :: MatchEnv -> Key PatMap -> (Substitution, PatMap a) -> [(Substitution, a)] #
type Key PatMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key PatMap = LocatedA (Pat GhcPs)

emptyPatMapWrapper :: PatMap a #

newtype GRHSSMap a #

Constructors

GRHSSMap |

Fields

- unGRHSSMap :: LBMap (ListMap GRHSMap a)

#### Instances

Instances details

Functor GRHSSMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> GRHSSMap a -> GRHSSMap b # (<$) :: a -> GRHSSMap b -> GRHSSMap a #
PatternMap GRHSSMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key GRHSSMap # Methods mEmpty :: GRHSSMap a # mUnion :: GRHSSMap a -> GRHSSMap a -> GRHSSMap a # mAlter :: AlphaEnv -> Quantifiers -> Key GRHSSMap -> A a -> GRHSSMap a -> GRHSSMap a # mMatch :: MatchEnv -> Key GRHSSMap -> (Substitution, GRHSSMap a) -> [(Substitution, a)] #
type Key GRHSSMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key GRHSSMap = GRHSs GhcPs (LocatedA (HsExpr GhcPs))

newtype GRHSMap a #

Constructors

GRHSMap |

Fields

- unGRHSMap :: SLMap (EMap a)

#### Instances

Instances details

Functor GRHSMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> GRHSMap a -> GRHSMap b # (<$) :: a -> GRHSMap b -> GRHSMap a #
PatternMap GRHSMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key GRHSMap # Methods mEmpty :: GRHSMap a # mUnion :: GRHSMap a -> GRHSMap a -> GRHSMap a # mAlter :: AlphaEnv -> Quantifiers -> Key GRHSMap -> A a -> GRHSMap a -> GRHSMap a # mMatch :: MatchEnv -> Key GRHSMap -> (Substitution, GRHSMap a) -> [(Substitution, a)] #
type Key GRHSMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key GRHSMap = GRHS GhcPs (LocatedA (HsExpr GhcPs))

data SLMap a #

Constructors

SLEmpty |
SLM |

Fields

- slmNil :: MaybeMap a
- slmCons :: SMap (SLMap a)

#### Instances

Instances details

Functor SLMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> SLMap a -> SLMap b # (<$) :: a -> SLMap b -> SLMap a #
PatternMap SLMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key SLMap # Methods mEmpty :: SLMap a # mUnion :: SLMap a -> SLMap a -> SLMap a # mAlter :: AlphaEnv -> Quantifiers -> Key SLMap -> A a -> SLMap a -> SLMap a # mMatch :: MatchEnv -> Key SLMap -> (Substitution, SLMap a) -> [(Substitution, a)] #
type Key SLMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key SLMap = [LocatedA (Stmt GhcPs (LocatedA (HsExpr GhcPs)))]

emptySLMapWrapper :: SLMap a #

data LBMap a #

Constructors

LBEmpty |
LB |

Fields

- lbValBinds :: ListMap BMap a
- lbEmpty :: MaybeMap a

#### Instances

Instances details

Functor LBMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> LBMap a -> LBMap b # (<$) :: a -> LBMap b -> LBMap a #
PatternMap LBMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key LBMap # Methods mEmpty :: LBMap a # mUnion :: LBMap a -> LBMap a -> LBMap a # mAlter :: AlphaEnv -> Quantifiers -> Key LBMap -> A a -> LBMap a -> LBMap a # mMatch :: MatchEnv -> Key LBMap -> (Substitution, LBMap a) -> [(Substitution, a)] #
type Key LBMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key LBMap = HsLocalBinds GhcPs

emptyLBMapWrapper :: LBMap a #

deValBinds :: HsValBinds GhcPs -> [HsBind GhcPs] #

data BMap a #

Constructors

BMEmpty |
BM |

Fields

- bmFunBind :: MGMap a
- bmVarBind :: EMap a
- bmPatBind :: PatMap (GRHSSMap a)

#### Instances

Instances details

Functor BMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> BMap a -> BMap b # (<$) :: a -> BMap b -> BMap a #
PatternMap BMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key BMap # Methods mEmpty :: BMap a # mUnion :: BMap a -> BMap a -> BMap a # mAlter :: AlphaEnv -> Quantifiers -> Key BMap -> A a -> BMap a -> BMap a # mMatch :: MatchEnv -> Key BMap -> (Substitution, BMap a) -> [(Substitution, a)] #
type Key BMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key BMap = HsBind GhcPs

emptyBMapWrapper :: BMap a #

data SMap a #

Constructors

SMEmpty |
SM |

Fields

- smLastStmt :: EMap a
- smBindStmt :: PatMap (EMap a)
- smBodyStmt :: EMap a

#### Instances

Instances details

Functor SMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> SMap a -> SMap b # (<$) :: a -> SMap b -> SMap a #
PatternMap SMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key SMap # Methods mEmpty :: SMap a # mUnion :: SMap a -> SMap a -> SMap a # mAlter :: AlphaEnv -> Quantifiers -> Key SMap -> A a -> SMap a -> SMap a # mMatch :: MatchEnv -> Key SMap -> (Substitution, SMap a) -> [(Substitution, a)] #
type Key SMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key SMap = LocatedA (Stmt GhcPs (LocatedA (HsExpr GhcPs)))

emptySMapWrapper :: SMap a #

data TyMap a #

Constructors

TyEmpty |
TM |

Fields

- tyHole :: Map RdrName a
- tyHsTyVar :: VMap a
- tyHsAppTy :: TyMap (TyMap a)
- tyHsForAllTy :: ForallVisMap (ForAllTyMap a)
- tyHsFunTy :: TyMap (TyMap a)
- tyHsListTy :: TyMap a
- tyHsParTy :: TyMap a
- tyHsQualTy :: TyMap (ListMap TyMap a)
- tyHsSumTy :: ListMap TyMap a
- tyHsTupleTy :: TupleSortMap (ListMap TyMap a)

#### Instances

Instances details

Functor TyMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> TyMap a -> TyMap b # (<$) :: a -> TyMap b -> TyMap a #
PatternMap TyMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key TyMap # Methods mEmpty :: TyMap a # mUnion :: TyMap a -> TyMap a -> TyMap a # mAlter :: AlphaEnv -> Quantifiers -> Key TyMap -> A a -> TyMap a -> TyMap a # mMatch :: MatchEnv -> Key TyMap -> (Substitution, TyMap a) -> [(Substitution, a)] #
type Key TyMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key TyMap = LocatedA (HsType GhcPs)

emptyTyMapWrapper :: TyMap a #

splitVisBinders :: HsForAllTelescope GhcPs -> (Bool, [(RdrName, Maybe (LHsKind GhcPs))]) #

extractBinderInfo :: LHsTyVarBndr flag GhcPs -> (RdrName, Maybe (LHsKind GhcPs)) #

newtype RFMap a #

Constructors

RFM |

Fields

- rfmField :: VMap (EMap a)

#### Instances

Instances details

Functor RFMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> RFMap a -> RFMap b # (<$) :: a -> RFMap b -> RFMap a #
PatternMap RFMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key RFMap # Methods mEmpty :: RFMap a # mUnion :: RFMap a -> RFMap a -> RFMap a # mAlter :: AlphaEnv -> Quantifiers -> Key RFMap -> A a -> RFMap a -> RFMap a # mMatch :: MatchEnv -> Key RFMap -> (Substitution, RFMap a) -> [(Substitution, a)] #
type Key RFMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key RFMap = LocatedA (HsRecField GhcPs (LocatedA (HsExpr GhcPs)))

class RecordFieldToRdrName f where #

Methods

recordFieldToRdrName :: f -> RdrName #

#### Instances

Instances details

RecordFieldToRdrName (FieldLabelStrings GhcPs) # |
Instance details Defined in Retrie.PatternMap.Instances Methods recordFieldToRdrName :: FieldLabelStrings GhcPs -> RdrName #
RecordFieldToRdrName (AmbiguousFieldOcc GhcPs) # |
Instance details Defined in Retrie.PatternMap.Instances Methods recordFieldToRdrName :: AmbiguousFieldOcc GhcPs -> RdrName #
RecordFieldToRdrName (FieldOcc GhcPs) # |
Instance details Defined in Retrie.PatternMap.Instances Methods recordFieldToRdrName :: FieldOcc GhcPs -> RdrName #

fieldsToRdrNamesUpd :: Either [LHsRecUpdField GhcPs] [LHsRecUpdProj GhcPs] -> [LHsRecField GhcPs (LHsExpr GhcPs)] #

data TupleSortMap a #

Constructors

TupleSortMap |

Fields

- tsUnboxed :: MaybeMap a
- tsBoxed :: MaybeMap a
- tsConstraint :: MaybeMap a
- tsBoxedOrConstraint :: MaybeMap a

#### Instances

Instances details

Functor TupleSortMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> TupleSortMap a -> TupleSortMap b # (<$) :: a -> TupleSortMap b -> TupleSortMap a #
PatternMap TupleSortMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key TupleSortMap # Methods mEmpty :: TupleSortMap a # mUnion :: TupleSortMap a -> TupleSortMap a -> TupleSortMap a # mAlter :: AlphaEnv -> Quantifiers -> Key TupleSortMap -> A a -> TupleSortMap a -> TupleSortMap a # mMatch :: MatchEnv -> Key TupleSortMap -> (Substitution, TupleSortMap a) -> [(Substitution, a)] #
type Key TupleSortMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key TupleSortMap = HsTupleSort

data ForAllTyMap a #

Constructors

ForAllTyMap |

Fields

- fatNil :: TyMap a
- fatUser :: ForAllTyMap a
- fatKinded :: TyMap (ForAllTyMap a)

#### Instances

Instances details

Functor ForAllTyMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> ForAllTyMap a -> ForAllTyMap b # (<$) :: a -> ForAllTyMap b -> ForAllTyMap a #
PatternMap ForAllTyMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key ForAllTyMap # Methods mEmpty :: ForAllTyMap a # mUnion :: ForAllTyMap a -> ForAllTyMap a -> ForAllTyMap a # mAlter :: AlphaEnv -> Quantifiers -> Key ForAllTyMap -> A a -> ForAllTyMap a -> ForAllTyMap a # mMatch :: MatchEnv -> Key ForAllTyMap -> (Substitution, ForAllTyMap a) -> [(Substitution, a)] #
type Key ForAllTyMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key ForAllTyMap = ([(RdrName, Maybe (LocatedA (HsKind GhcPs)))], LocatedA (HsType GhcPs))

newtype ForallVisMap a #

Constructors

ForallVisMap |

Fields

- favBoolMap :: BoolMap a

#### Instances

Instances details

Functor ForallVisMap # |
Instance details Defined in Retrie.PatternMap.Instances Methods fmap :: (a -> b) -> ForallVisMap a -> ForallVisMap b # (<$) :: a -> ForallVisMap b -> ForallVisMap a #
PatternMap ForallVisMap # |
Instance details Defined in Retrie.PatternMap.Instances Associated Types type Key ForallVisMap # Methods mEmpty :: ForallVisMap a # mUnion :: ForallVisMap a -> ForallVisMap a -> ForallVisMap a # mAlter :: AlphaEnv -> Quantifiers -> Key ForallVisMap -> A a -> ForallVisMap a -> ForallVisMap a # mMatch :: MatchEnv -> Key ForallVisMap -> (Substitution, ForallVisMap a) -> [(Substitution, a)] #
type Key ForallVisMap # |
Instance details Defined in Retrie.PatternMap.Instances type Key ForallVisMap = Bool