Safe Haskell | None |
---|---|
Language | Haskell98 |
- class Symbolic a => GhcLookup a where
- lookupGhcThing :: (GhcLookup a, PPrint b) => String -> (TyThing -> Maybe b) -> Maybe NameSpace -> a -> BareM b
- lookupGhcVar :: GhcLookup a => a -> BareM Var
- lookupGhcTyCon :: GhcLookup a => String -> a -> BareM TyCon
- lookupGhcDataCon :: Located Symbol -> BareM DataCon
Documentation
class Symbolic a => GhcLookup a where Source #
Querying GHC for Id, Type, Class, Con etc. --------------------------------
lookupGhcThing :: (GhcLookup a, PPrint b) => String -> (TyThing -> Maybe b) -> Maybe NameSpace -> a -> BareM b Source #
lookupGhcVar :: GhcLookup a => a -> BareM Var Source #
It's possible that we have already resolved the Name
we are looking for,
but have had to turn it back into a String
, e.g. to be used in an Expr
,
as in {v:Ordering | v = EQ}
. In this case, the fully-qualified Name
(GHC.Types.EQ
) will likely not be in scope, so we store our own mapping of
fully-qualified Name
s to Var
s and prefer pulling Var
s from it.
Orphan instances
Symbolic FieldLabel Source # | |