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

Safe HaskellSafe
LanguageHaskell98

DDC.Core.Transform.Snip

Description

Snip out nested applications.

Synopsis

Documentation

class Snip c where Source #

Class of things that can have things snipped out of them.

Minimal complete definition

snip

Methods

snip :: Ord n => Config -> c n -> c n Source #

Snip out nested applications as anonymous bindings.

     f (g x) (h y)
 ==> let ^ = g x in ^ = h y in f ^1 ^0

Instances

Snip (Module a) Source # 

Methods

snip :: Ord n => Config -> Module a n -> Module a n Source #

Snip (Exp a) Source # 

Methods

snip :: Ord n => Config -> Exp a n -> Exp a n Source #

data Config Source #

Snipper configuration.

Constructors

Config 

Fields

configZero :: Config Source #

Snipper configuration with all flags set to False.