g2-0.2.0.0: src/G2/Language/Monad/Naming.hs
module G2.Language.Monad.Naming ( doRenameN
, doRenamesN
, renameAllN
, freshSeededStringN
, freshSeededStringsN
, freshSeededNameN
, freshSeededNamesN
, freshNameN
, freshNamesN
, freshIdN
, freshSeededIdN
, freshIdsN ) where
import G2.Language
import G2.Language.Monad.Support
import qualified Data.Text as T
doRenameN :: (NamingM s m, Named a) => Name -> a -> m a
doRenameN n a = withNG $ \ng -> doRename n ng a
doRenamesN :: (NamingM s m, Named a) => [Name] -> a -> m a
doRenamesN ns a = withNG $ \ng -> doRenames ns ng a
renameAllN :: (NamingM s m, Named a) => a -> m a
renameAllN a = withNG (renameAll a)
freshSeededStringN :: NamingM s m => T.Text -> m Name
freshSeededStringN t = withNG (freshSeededString t)
freshSeededStringsN :: NamingM s m => [T.Text] -> m [Name]
freshSeededStringsN t = withNG (freshSeededStrings t)
freshSeededNameN :: NamingM s m => Name -> m Name
freshSeededNameN n = withNG (freshSeededName n)
freshSeededNamesN :: NamingM s m => [Name] -> m [Name]
freshSeededNamesN ns = withNG (freshSeededNames ns)
freshNameN :: NamingM s m => m Name
freshNameN = withNG (freshName)
freshNamesN :: NamingM s m => Int -> m [Name]
freshNamesN i = withNG (freshNames i)
freshIdN :: NamingM s m => Type -> m Id
freshIdN t = withNG (freshId t)
freshSeededIdN :: (Named n, NamingM s m) => n -> Type -> m Id
freshSeededIdN n t = withNG (freshSeededId n t)
freshIdsN :: NamingM s m => [Type] -> m [Id]
freshIdsN ts = withNG (freshIds ts)