ddc-core-0.4.3.1: Disciplined Disciple Compiler core language and type checker.

Safe HaskellSafe
LanguageHaskell98

DDC.Core.Transform.Reannotate

Synopsis

Documentation

class Reannotate c where Source #

Apply the given function to every annotation in a core thing.

Minimal complete definition

reannotateM

Methods

reannotate :: (a -> b) -> c a n -> c b n Source #

reannotateM :: forall m a b n. Monad m => (a -> m b) -> c a n -> m (c b n) Source #

Instances

Reannotate Witness Source # 

Methods

reannotate :: (a -> b) -> Witness a n -> Witness b n Source #

reannotateM :: Monad m => (a -> m b) -> Witness a n -> m (Witness b n) Source #

Reannotate Cast Source # 

Methods

reannotate :: (a -> b) -> Cast a n -> Cast b n Source #

reannotateM :: Monad m => (a -> m b) -> Cast a n -> m (Cast b n) Source #

Reannotate Alt Source # 

Methods

reannotate :: (a -> b) -> Alt a n -> Alt b n Source #

reannotateM :: Monad m => (a -> m b) -> Alt a n -> m (Alt b n) Source #

Reannotate Lets Source # 

Methods

reannotate :: (a -> b) -> Lets a n -> Lets b n Source #

reannotateM :: Monad m => (a -> m b) -> Lets a n -> m (Lets b n) Source #

Reannotate Exp Source # 

Methods

reannotate :: (a -> b) -> Exp a n -> Exp b n Source #

reannotateM :: Monad m => (a -> m b) -> Exp a n -> m (Exp b n) Source #

Reannotate Module Source # 

Methods

reannotate :: (a -> b) -> Module a n -> Module b n Source #

reannotateM :: Monad m => (a -> m b) -> Module a n -> m (Module b n) Source #