ddc-core-simpl-0.4.3.1: Disciplined Disciple Compiler code transformations.

Safe HaskellNone
LanguageHaskell98

DDC.Core.Transform.Eta

Synopsis

Documentation

data Config Source #

Constructors

Config 

Fields

Instances

configZero :: Config Source #

Empty eta configuration with all flags set to False.

data Info Source #

Constructors

Info 

Fields

Instances

Monoid Info Source # 

Methods

mempty :: Info #

mappend :: Info -> Info -> Info #

mconcat :: [Info] -> Info #

Pretty Info Source # 

Associated Types

data PrettyMode Info :: * #

Methods

pprDefaultMode :: PrettyMode Info #

ppr :: Info -> Doc #

pprPrec :: Int -> Info -> Doc #

pprModePrec :: PrettyMode Info -> Int -> Info -> Doc #

etaModule :: (Ord n, Show n, Pretty n, Show a) => Profile n -> Config -> Module a n -> TransformResult (Module a n) Source #

Eta-transform expressions in a module.

etaX Source #

Arguments

:: (Ord n, Show n, Show a, Pretty n) 
=> Profile n

Language profile.

-> Config

Eta-transform config.

-> EnvX n

Type checker environment.

-> Exp a n

Expression to transform.

-> TransformResult (Exp a n) 

Eta-transform an expression.