Safe Haskell | None |
---|---|
Language | Haskell98 |
Functions for replacing fully applied type synonyms with the SaturatedTypeSynonym
data constructor
- saturateAllTypeSynonyms :: [(Qualified ProperName, Int)] -> Type -> Either String Type
- desaturateAllTypeSynonyms :: Type -> Type
- replaceAllTypeSynonyms :: (Error e, Functor m, Monad m, MonadState CheckState m, MonadError e m) => Type -> m Type
- expandAllTypeSynonyms :: (Error e, Functor m, Applicative m, Monad m, MonadState CheckState m, MonadError e m) => Type -> m Type
- expandTypeSynonym :: (Error e, Functor m, Monad m, MonadState CheckState m, MonadError e m) => Qualified ProperName -> [Type] -> m Type
- expandTypeSynonym' :: Environment -> Qualified ProperName -> [Type] -> Either String Type
Documentation
saturateAllTypeSynonyms :: [(Qualified ProperName, Int)] -> Type -> Either String Type Source
Replace all type synonyms with the SaturatedTypeSynonym
data constructor
desaturateAllTypeSynonyms :: Type -> Type Source
"Desaturate" SaturatedTypeSynonym
s
replaceAllTypeSynonyms :: (Error e, Functor m, Monad m, MonadState CheckState m, MonadError e m) => Type -> m Type Source
expandAllTypeSynonyms :: (Error e, Functor m, Applicative m, Monad m, MonadState CheckState m, MonadError e m) => Type -> m Type Source
expandTypeSynonym :: (Error e, Functor m, Monad m, MonadState CheckState m, MonadError e m) => Qualified ProperName -> [Type] -> m Type Source
expandTypeSynonym' :: Environment -> Qualified ProperName -> [Type] -> Either String Type Source
Replace a type synonym and its arguments with the aliased type