syntactic-0.9: Generic abstract syntax, and utilities for embedded languages

Safe HaskellNone

Language.Syntactic.Sharing.StableName

Synopsis

Documentation

data StName c whereSource

StableName of a (c (Full a)) with hidden result type

Constructors

StName :: Typeable a => StableName (c (Full a)) -> StName c 

Instances

Eq (StName c) 

stCast :: forall a b c. (Typeable a, Typeable b) => StableName (c (Full a)) -> Maybe (StableName (c (Full b)))Source

fresh :: (Enum a, MonadIO m) => IORef a -> m aSource

Return a fresh identifier from the given supply