liquidhaskell-boot-0.9.10.1.2: Liquid Types for Haskell
Safe HaskellNone
LanguageHaskell98

Liquid.GHC.API.StableModule

Synopsis

Documentation

data StableModule Source #

A newtype wrapper around a Module which:

  • Allows a Module to be serialised (i.e. it has a Binary instance)
  • It tries to use stable comparison and equality under the hood.

Instances

Instances details
Binary StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Data StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> StableModule -> c StableModule #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c StableModule #

toConstr :: StableModule -> Constr #

dataTypeOf :: StableModule -> DataType #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c StableModule) #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c StableModule) #

gmapT :: (forall b. Data b => b -> b) -> StableModule -> StableModule #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> StableModule -> r #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> StableModule -> r #

gmapQ :: (forall d. Data d => d -> u) -> StableModule -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> StableModule -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> StableModule -> m StableModule #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> StableModule -> m StableModule #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> StableModule -> m StableModule #

Generic StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Associated Types

type Rep StableModule 
Instance details

Defined in Liquid.GHC.API.StableModule

type Rep StableModule = D1 ('MetaData "StableModule" "Liquid.GHC.API.StableModule" "liquidhaskell-boot-0.9.10.1.2-inplace" 'True) (C1 ('MetaCons "StableModule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unStableModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)))
Show StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Eq StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Ord StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

Hashable StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

type Rep StableModule Source # 
Instance details

Defined in Liquid.GHC.API.StableModule

type Rep StableModule = D1 ('MetaData "StableModule" "Liquid.GHC.API.StableModule" "liquidhaskell-boot-0.9.10.1.2-inplace" 'True) (C1 ('MetaCons "StableModule" 'PrefixI 'True) (S1 ('MetaSel ('Just "unStableModule") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Module)))

Constructing a StableModule

mkStableModule :: UnitId -> ModuleName -> StableModule Source #

Creates a new StableModule out of a ModuleName and a UnitId.

Converting a StableModule into a standard Module

Utility functions

toStableModule :: Module -> StableModule Source #

Converts a Module into a StableModule.

Orphan instances

Hashable ModuleName Source # 
Instance details