Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data HermitName
- cmpHN2Name :: HermitName -> Name -> Bool
- cmpHN2Var :: HermitName -> Var -> Bool
- fromRdrName :: RdrName -> HermitName
- toRdrName :: NameSpace -> HermitName -> RdrName
- toRdrNames :: [NameSpace] -> HermitName -> [RdrName]
- hnModuleName :: HermitName -> Maybe ModuleName
- hnUnqualified :: HermitName -> FastString
- parseName :: String -> HermitName
- showName :: HermitName -> String
- newtype OccurrenceName = OccurrenceName {}
- newtype OccurrenceNameListBox = OccurrenceNameListBox [OccurrenceName]
- mkOccPred :: OccurrenceName -> Var -> Bool
- newtype BindingName = BindingName {}
- mkBindingPred :: BindingName -> Var -> Bool
- newtype RhsOfName = RhsOfName {}
- mkRhsOfPred :: RhsOfName -> Var -> Bool
- data Named
- varToNamed :: Var -> Named
- allNameSpaces :: [NameSpace]
- dataConNS :: NameSpace
- tyConClassNS :: NameSpace
- tyVarNS :: NameSpace
- varNS :: NameSpace
- newGlobalIdH :: MonadUnique m => String -> Type -> m Id
- newIdH :: MonadUnique m => String -> Type -> m Id
- newTyVarH :: MonadUnique m => String -> Kind -> m TyVar
- newCoVarH :: MonadUnique m => String -> Type -> m TyVar
- newVarH :: MonadUnique m => String -> KindOrType -> m Var
- cloneVarH :: MonadUnique m => (String -> String) -> Var -> m Var
- cloneVarFSH :: MonadUnique m => (FastString -> FastString) -> Var -> m Var
- findId :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Id
- findVar :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Var
- findTyCon :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m TyCon
- findType :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Type
- findInNameSpace :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadIO m, MonadThings m) => NameSpace -> HermitName -> c -> m Named
- findInNameSpaces :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => [NameSpace] -> HermitName -> c -> m Named
Documentation
data HermitName Source
A HermitName
is an optionally fully-qualified name,
like GHC's RdrName
, but without specifying which NameSpace
the name is found in.
cmpHN2Name :: HermitName -> Name -> Bool Source
cmpHN2Var :: HermitName -> Var -> Bool Source
Compare a HermitName to a Var.
Only compare module names if the HermitName is fully qualified. Otherwise match variables from any module with appropriate occurrence name.
fromRdrName :: RdrName -> HermitName Source
Make a HermitName from a RdrName
toRdrName :: NameSpace -> HermitName -> RdrName Source
Make a RdrName for the given NameSpace and HermitName
toRdrNames :: [NameSpace] -> HermitName -> [RdrName] Source
Make a RdrName for each given NameSpace.
parseName :: String -> HermitName Source
Parse a HermitName from a String.
showName :: HermitName -> String Source
Turn a HermitName into a (possibly fully-qualified) String.
Wrappers
newtype OccurrenceName Source
newtype OccurrenceNameListBox Source
mkOccPred :: OccurrenceName -> Var -> Bool Source
newtype BindingName Source
mkBindingPred :: BindingName -> Var -> Bool Source
mkRhsOfPred :: RhsOfName -> Var -> Bool Source
Namespaces
Possible results from name lookup. Invariant: One constructor for each NameSpace.
varToNamed :: Var -> Named Source
allNameSpaces :: [NameSpace] Source
Variable Creation
newGlobalIdH :: MonadUnique m => String -> Type -> m Id Source
Make a unique global identifier for a specified type, using a provided name.
newIdH :: MonadUnique m => String -> Type -> m Id Source
Make a unique identifier for a specified type, using a provided name.
newTyVarH :: MonadUnique m => String -> Kind -> m TyVar Source
Make a unique type variable for a specified kind, using a provided name.
newCoVarH :: MonadUnique m => String -> Type -> m TyVar Source
Make a unique coercion variable for a specified type, using a provided name.
newVarH :: MonadUnique m => String -> KindOrType -> m Var Source
Experimental, use at your own risk.
cloneVarH :: MonadUnique m => (String -> String) -> Var -> m Var Source
Make a new variable of the same type, with a modified textual name.
cloneVarFSH :: MonadUnique m => (FastString -> FastString) -> Var -> m Var Source
Make a new variable of the same type, with a modified textual name.
Name Lookup
findId :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Id Source
findVar :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Var Source
findTyCon :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m TyCon Source
findType :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => HermitName -> c -> m Type Source
findInNameSpace :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadIO m, MonadThings m) => NameSpace -> HermitName -> c -> m Named Source
findInNameSpaces :: (BoundVars c, HasHscEnv m, HasHermitMEnv m, MonadCatch m, MonadIO m, MonadThings m) => [NameSpace] -> HermitName -> c -> m Named Source