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

Data.Vector.Fusion.Util

Description

Fusion-related utility types

Synopsis

Documentation

newtype Id a Source #

Identity monad

Constructors

Id 

Fields

Instances

Instances details
Monad Id Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

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

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

return :: a -> Id a #

Functor Id Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

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

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

Applicative Id Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

pure :: a -> Id a #

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

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

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

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

Eq1 (Bundle Id v) Source # 
Instance details

Defined in Data.Vector.Fusion.Bundle

Methods

liftEq :: (a -> b -> Bool) -> Bundle Id v a -> Bundle Id v b -> Bool #

Ord1 (Bundle Id v) Source # 
Instance details

Defined in Data.Vector.Fusion.Bundle

Methods

liftCompare :: (a -> b -> Ordering) -> Bundle Id v a -> Bundle Id v b -> Ordering #

Eq a => Eq (Bundle Id v a) Source # 
Instance details

Defined in Data.Vector.Fusion.Bundle

Methods

(==) :: Bundle Id v a -> Bundle Id v a -> Bool #

(/=) :: Bundle Id v a -> Bundle Id v a -> Bool #

Ord a => Ord (Bundle Id v a) Source # 
Instance details

Defined in Data.Vector.Fusion.Bundle

Methods

compare :: Bundle Id v a -> Bundle Id v a -> Ordering #

(<) :: Bundle Id v a -> Bundle Id v a -> Bool #

(<=) :: Bundle Id v a -> Bundle Id v a -> Bool #

(>) :: Bundle Id v a -> Bundle Id v a -> Bool #

(>=) :: Bundle Id v a -> Bundle Id v a -> Bool #

max :: Bundle Id v a -> Bundle Id v a -> Bundle Id v a #

min :: Bundle Id v a -> Bundle Id v a -> Bundle Id v a #

data Box a Source #

Box monad

Constructors

Box 

Fields

Instances

Instances details
Monad Box Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

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

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

return :: a -> Box a #

Functor Box Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

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

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

Applicative Box Source # 
Instance details

Defined in Data.Vector.Fusion.Util

Methods

pure :: a -> Box a #

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

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

(*>) :: 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