vector-0.12.0.0: Efficient Arrays

Copyright(c) Roman Leshchinskiy 2009
LicenseBSD-style
MaintainerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Stabilityexperimental
Portabilityportable
Safe HaskellSafe
LanguageHaskell2010

Data.Vector.Fusion.Util

Description

Fusion-related utility types

Synopsis

Documentation

newtype Id a Source #

Identity monad

Constructors

Id 

Fields

Instances

Monad Id Source # 

Methods

(>>=) :: Id a -> (a -> Id b) -> Id b #

(>>) :: Id a -> Id b -> Id b #

return :: a -> Id a #

fail :: String -> Id a #

Functor Id Source # 

Methods

fmap :: (a -> b) -> Id a -> Id b #

(<$) :: a -> Id b -> Id a #

Applicative Id Source # 

Methods

pure :: a -> Id a #

(<*>) :: Id (a -> b) -> Id a -> Id b #

(*>) :: Id a -> Id b -> Id b #

(<*) :: Id a -> Id b -> Id a #

data Box a Source #

Box monad

Constructors

Box 

Fields

Instances

Monad Box Source # 

Methods

(>>=) :: Box a -> (a -> Box b) -> Box b #

(>>) :: Box a -> Box b -> Box b #

return :: a -> Box a #

fail :: String -> Box a #

Functor Box Source # 

Methods

fmap :: (a -> b) -> Box a -> Box b #

(<$) :: a -> Box b -> Box a #

Applicative Box Source # 

Methods

pure :: a -> Box a #

(<*>) :: Box (a -> b) -> Box a -> Box b #

(*>) :: Box a -> Box b -> Box b #

(<*) :: Box a -> Box b -> Box a #

delay_inline :: (a -> b) -> a -> b Source #

Delay inlining a function until late in the game (simplifier phase 0).

delayed_min :: Int -> Int -> Int Source #

min inlined in phase 0