| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Language.Haskell.Liquid.Types.Names
Synopsis
- class CompatibleBinder b b' where
- coerceBinder :: b' -> b
- lenLocSymbol :: Located Symbol
- anyTypeSymbol :: Symbol
- propSymbol :: Symbol
- getPropIndex :: ReftV Symbol -> Maybe (ExprV Symbol)
- selfSymbol :: Symbol
- tyTupleSizedSymbol :: Int -> Symbol
- isTyTupleSizedSymbol :: Symbol -> Maybe Int
- tmTupleSizedSymbol :: Int -> Symbol
- data LogicName
- = LogicName !Symbol !Module !(Maybe Name)
- | GeneratedLogicName Symbol
- data LHResolvedName
- data LHName
- = LHNResolved !LHResolvedName !Symbol
- | LHNUnresolved !LHNameSpace !Symbol
- data LHNameSpace
- data LHThisModuleNameFlag
- makeResolvedLHName :: LHResolvedName -> Symbol -> LHName
- getLHGHCName :: LHName -> Maybe Name
- getLHNameResolved :: HasCallStack => LHName -> LHResolvedName
- getLHNameSymbol :: LHName -> Symbol
- lhNameToResolvedSymbol :: LHName -> Symbol
- lhNameToUnqualifiedSymbol :: HasCallStack => LHName -> Symbol
- makeGHCLHName :: Name -> Symbol -> LHName
- makeGHCLHNameFromId :: Id -> LHName
- makeGHCLHNameLocated :: (NamedThing a, Symbolic a) => a -> Located LHName
- makeGHCLHNameLocatedFromId :: Id -> Located LHName
- makeLocalLHName :: Symbol -> LHName
- makeLogicLHName :: Symbol -> Module -> Maybe Name -> LHName
- makeGeneratedLogicLHName :: Symbol -> LHName
- makeUnresolvedLHName :: LHNameSpace -> Symbol -> LHName
- mapLHNames :: Data a => (LHName -> LHName) -> a -> a
- mapMLocLHNames :: forall m a. (Data a, Monad m) => (Located LHName -> m (Located LHName)) -> a -> m a
- maybeReflectedLHName :: LHName -> Maybe Name
- reflectGHCName :: Module -> Name -> LHName
- reflectLHName :: HasCallStack => Module -> LHName -> LHName
- updateLHNameSymbol :: (Symbol -> Symbol) -> LHName -> LHName
- isNonReflectedLogicName :: LHName -> Bool
- logicNameOriginModule :: LHName -> Module
- isResolvedLogicName :: LHName -> Bool
- isGeneratedLogicName :: LHName -> Bool
Documentation
class CompatibleBinder b b' where Source #
Highly temporary class as a compatability layer to express that a binder,
especially type variables tv, are in the same namespace as another binder.
Minimal complete definition
Nothing
Instances
| CompatibleBinder Symbol Symbol Source # | |
Defined in Language.Haskell.Liquid.Types.Names Methods coerceBinder :: Symbol -> Symbol Source # | |
| CompatibleBinder Symbol BTyVar Source # | |
Defined in Language.Haskell.Liquid.Types.RType Methods coerceBinder :: BTyVar -> Symbol Source # | |
| CompatibleBinder Symbol (Located Symbol) Source # | |
Defined in Language.Haskell.Liquid.Types.Names Methods coerceBinder :: Located Symbol -> Symbol Source # | |
| CompatibleBinder (Located Symbol) BTyVar Source # | |
Defined in Language.Haskell.Liquid.Types.RType Methods coerceBinder :: BTyVar -> Located Symbol Source # | |
| CompatibleBinder (Located Symbol) (Located Symbol) Source # | |
Defined in Language.Haskell.Liquid.Types.Names Methods coerceBinder :: Located Symbol -> Located Symbol Source # | |
lenLocSymbol :: Located Symbol Source #
anyTypeSymbol :: Symbol Source #
propSymbol :: Symbol Source #
getPropIndex :: ReftV Symbol -> Maybe (ExprV Symbol) Source #
selfSymbol :: Symbol Source #
tyTupleSizedSymbol :: Int -> Symbol Source #
isTyTupleSizedSymbol :: Symbol -> Maybe Int Source #
tmTupleSizedSymbol :: Int -> Symbol Source #
A name for an entity that does not exist in Haskell
For instance, this can be used to represent predicate aliases or uninterpreted functions.
Constructors
| LogicName | |
| GeneratedLogicName Symbol | |
Instances
data LHResolvedName Source #
A name whose procedence is known.
Constructors
| LHRLogic !LogicName | |
| LHRGHC !Name | A name for an entity that exists in Haskell |
| LHRLocal !Symbol | A name for a local variable, e.g. one that is bound by a type alias. |
| LHRIndex Word | The index of a name in some environment Before serializing names, they are converted to indices. The names themselves are kept in an environment or table that is serialized separately. This is to acommodate how GHC serializes its Names. |
Instances
| Binary LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods put :: LHResolvedName -> Put # get :: Get LHResolvedName # putList :: [LHResolvedName] -> Put # | |||||
| NFData LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods rnf :: LHResolvedName -> () # | |||||
| Binary LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods put_ :: WriteBinHandle -> LHResolvedName -> IO () # put :: WriteBinHandle -> LHResolvedName -> IO (Bin LHResolvedName) # get :: ReadBinHandle -> IO LHResolvedName # | |||||
| Eq LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods (==) :: LHResolvedName -> LHResolvedName -> Bool # (/=) :: LHResolvedName -> LHResolvedName -> Bool # | |||||
| Ord LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods compare :: LHResolvedName -> LHResolvedName -> Ordering # (<) :: LHResolvedName -> LHResolvedName -> Bool # (<=) :: LHResolvedName -> LHResolvedName -> Bool # (>) :: LHResolvedName -> LHResolvedName -> Bool # (>=) :: LHResolvedName -> LHResolvedName -> Bool # max :: LHResolvedName -> LHResolvedName -> LHResolvedName # min :: LHResolvedName -> LHResolvedName -> LHResolvedName # | |||||
| Data LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHResolvedName -> c LHResolvedName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LHResolvedName # toConstr :: LHResolvedName -> Constr # dataTypeOf :: LHResolvedName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LHResolvedName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LHResolvedName) # gmapT :: (forall b. Data b => b -> b) -> LHResolvedName -> LHResolvedName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHResolvedName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHResolvedName -> r # gmapQ :: (forall d. Data d => d -> u) -> LHResolvedName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHResolvedName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHResolvedName -> m LHResolvedName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHResolvedName -> m LHResolvedName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHResolvedName -> m LHResolvedName # | |||||
| Generic LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Associated Types
Methods from :: LHResolvedName -> Rep LHResolvedName x # to :: Rep LHResolvedName x -> LHResolvedName # | |||||
| Show LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods showsPrec :: Int -> LHResolvedName -> ShowS # show :: LHResolvedName -> String # showList :: [LHResolvedName] -> ShowS # | |||||
| Hashable LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| type Rep LHResolvedName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names type Rep LHResolvedName = D1 ('MetaData "LHResolvedName" "Language.Haskell.Liquid.Types.Names" "liquidhaskell-boot-0.9.14.1-inplace" 'False) ((C1 ('MetaCons "LHRLogic" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LogicName)) :+: C1 ('MetaCons "LHRGHC" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Name))) :+: (C1 ('MetaCons "LHRLocal" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol)) :+: C1 ('MetaCons "LHRIndex" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Word)))) | |||||
A name that is potentially unresolved, carrying along the Symbol
found by the parser.
Constructors
| LHNResolved !LHResolvedName !Symbol | In order to integrate the resolved names gradually, we keep the unresolved names. |
| LHNUnresolved !LHNameSpace !Symbol |
Instances
| Binary LHName Source # | |||||
| NFData LHName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| Eq LHName Source # | An Eq instance that ignores the Symbol in resolved names | ||||
| Ord LHName Source # | An Ord instance that ignores the Symbol in resolved names | ||||
| Data LHName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHName -> c LHName # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LHName # toConstr :: LHName -> Constr # dataTypeOf :: LHName -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LHName) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LHName) # gmapT :: (forall b. Data b => b -> b) -> LHName -> LHName # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHName -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHName -> r # gmapQ :: (forall d. Data d => d -> u) -> LHName -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHName -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHName -> m LHName # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHName -> m LHName # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHName -> m LHName # | |||||
| Generic LHName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Associated Types
| |||||
| Show LHName Source # | |||||
| Hashable LHName Source # | A Hashable instance that ignores the Symbol in resolved names | ||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| Fixpoint LHName | |||||
| PPrint LHName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| Expand BareDef Source # | |||||
| Expand BareMeasure Source # | |||||
Defined in Language.Haskell.Liquid.Bare.Expand Methods expand :: BareRTEnv -> SourcePos -> BareMeasure -> BareMeasure Source # | |||||
| type Rep LHName Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names type Rep LHName = D1 ('MetaData "LHName" "Language.Haskell.Liquid.Types.Names" "liquidhaskell-boot-0.9.14.1-inplace" 'False) (C1 ('MetaCons "LHNResolved" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LHResolvedName) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol)) :+: C1 ('MetaCons "LHNUnresolved" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 LHNameSpace) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Symbol))) | |||||
data LHNameSpace Source #
Constructors
| LHTcName LHThisModuleNameFlag | Type constructors |
| LHDataConName LHThisModuleNameFlag | Data constructors with procedence |
| LHVarName LHThisModuleNameFlag | Variables with procedence |
| LHLogicNameBinder | Logic names (LHS) |
| LHLogicName | Logic names (RHS) |
Instances
| Binary LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| NFData LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods rnf :: LHNameSpace -> () # | |||||
| Eq LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| Ord LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods compare :: LHNameSpace -> LHNameSpace -> Ordering # (<) :: LHNameSpace -> LHNameSpace -> Bool # (<=) :: LHNameSpace -> LHNameSpace -> Bool # (>) :: LHNameSpace -> LHNameSpace -> Bool # (>=) :: LHNameSpace -> LHNameSpace -> Bool # max :: LHNameSpace -> LHNameSpace -> LHNameSpace # min :: LHNameSpace -> LHNameSpace -> LHNameSpace # | |||||
| Data LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHNameSpace -> c LHNameSpace # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LHNameSpace # toConstr :: LHNameSpace -> Constr # dataTypeOf :: LHNameSpace -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LHNameSpace) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LHNameSpace) # gmapT :: (forall b. Data b => b -> b) -> LHNameSpace -> LHNameSpace # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHNameSpace -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHNameSpace -> r # gmapQ :: (forall d. Data d => d -> u) -> LHNameSpace -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHNameSpace -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHNameSpace -> m LHNameSpace # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHNameSpace -> m LHNameSpace # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHNameSpace -> m LHNameSpace # | |||||
| Generic LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Associated Types
| |||||
| Show LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods showsPrec :: Int -> LHNameSpace -> ShowS # show :: LHNameSpace -> String # showList :: [LHNameSpace] -> ShowS # | |||||
| Hashable LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| type Rep LHNameSpace Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names type Rep LHNameSpace = D1 ('MetaData "LHNameSpace" "Language.Haskell.Liquid.Types.Names" "liquidhaskell-boot-0.9.14.1-inplace" 'False) ((C1 ('MetaCons "LHTcName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHThisModuleNameFlag)) :+: C1 ('MetaCons "LHDataConName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHThisModuleNameFlag))) :+: (C1 ('MetaCons "LHVarName" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LHThisModuleNameFlag)) :+: (C1 ('MetaCons "LHLogicNameBinder" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LHLogicName" 'PrefixI 'False) (U1 :: Type -> Type)))) | |||||
data LHThisModuleNameFlag Source #
Whether the name should be looked up in the current module only or in any module
Constructors
| LHThisModuleNameF | |
| LHAnyModuleNameF |
Instances
| Binary LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods put :: LHThisModuleNameFlag -> Put # get :: Get LHThisModuleNameFlag # putList :: [LHThisModuleNameFlag] -> Put # | |||||
| NFData LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods rnf :: LHThisModuleNameFlag -> () # | |||||
| Eq LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods (==) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # (/=) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # | |||||
| Ord LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods compare :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Ordering # (<) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # (<=) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # (>) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # (>=) :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> Bool # max :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> LHThisModuleNameFlag # min :: LHThisModuleNameFlag -> LHThisModuleNameFlag -> LHThisModuleNameFlag # | |||||
| Data LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LHThisModuleNameFlag -> c LHThisModuleNameFlag # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LHThisModuleNameFlag # toConstr :: LHThisModuleNameFlag -> Constr # dataTypeOf :: LHThisModuleNameFlag -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LHThisModuleNameFlag) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LHThisModuleNameFlag) # gmapT :: (forall b. Data b => b -> b) -> LHThisModuleNameFlag -> LHThisModuleNameFlag # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LHThisModuleNameFlag -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LHThisModuleNameFlag -> r # gmapQ :: (forall d. Data d => d -> u) -> LHThisModuleNameFlag -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> LHThisModuleNameFlag -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> LHThisModuleNameFlag -> m LHThisModuleNameFlag # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LHThisModuleNameFlag -> m LHThisModuleNameFlag # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LHThisModuleNameFlag -> m LHThisModuleNameFlag # | |||||
| Generic LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Associated Types
Methods from :: LHThisModuleNameFlag -> Rep LHThisModuleNameFlag x # to :: Rep LHThisModuleNameFlag x -> LHThisModuleNameFlag # | |||||
| Show LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names Methods showsPrec :: Int -> LHThisModuleNameFlag -> ShowS # show :: LHThisModuleNameFlag -> String # showList :: [LHThisModuleNameFlag] -> ShowS # | |||||
| Hashable LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names | |||||
| type Rep LHThisModuleNameFlag Source # | |||||
Defined in Language.Haskell.Liquid.Types.Names type Rep LHThisModuleNameFlag = D1 ('MetaData "LHThisModuleNameFlag" "Language.Haskell.Liquid.Types.Names" "liquidhaskell-boot-0.9.14.1-inplace" 'False) (C1 ('MetaCons "LHThisModuleNameF" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LHAnyModuleNameF" 'PrefixI 'False) (U1 :: Type -> Type)) | |||||
makeResolvedLHName :: LHResolvedName -> Symbol -> LHName Source #
getLHNameResolved :: HasCallStack => LHName -> LHResolvedName Source #
Get the resolved Symbol from an LHName.
getLHNameSymbol :: LHName -> Symbol Source #
Get the unresolved Symbol from an LHName.
lhNameToResolvedSymbol :: LHName -> Symbol Source #
Converts resolved names to symbols.
One important postcondition of this function is that the symbol for reflected names must match exactly the symbol for the corresponding Haskell function. Otherwise, LH would fail to link the two at various places where it is needed.
lhNameToUnqualifiedSymbol :: HasCallStack => LHName -> Symbol Source #
makeGHCLHName :: Name -> Symbol -> LHName Source #
makeGHCLHNameFromId :: Id -> LHName Source #
makeGHCLHNameLocated :: (NamedThing a, Symbolic a) => a -> Located LHName Source #
makeLocalLHName :: Symbol -> LHName Source #
makeGeneratedLogicLHName :: Symbol -> LHName Source #
makeUnresolvedLHName :: LHNameSpace -> Symbol -> LHName Source #
mapMLocLHNames :: forall m a. (Data a, Monad m) => (Located LHName -> m (Located LHName)) -> a -> m a Source #
reflectGHCName :: Module -> Name -> LHName Source #
Creates a name in the logic namespace for the given Haskell name.
reflectLHName :: HasCallStack => Module -> LHName -> LHName Source #
Creates a name in the logic namespace for the given Haskell name.
updateLHNameSymbol :: (Symbol -> Symbol) -> LHName -> LHName Source #
isNonReflectedLogicName :: LHName -> Bool Source #
logicNameOriginModule :: LHName -> Module Source #
isResolvedLogicName :: LHName -> Bool Source #
isGeneratedLogicName :: LHName -> Bool Source #