vector-0.13.2.0: Efficient Arrays

Copyright | (c) Roman Leshchinskiy 2009 Alexey Kuleshevich 2020-2022 Aleksey Khudyakov 2020-2022 Andrew Lelechenko 2020-2022
License | BSD-style
Maintainer | Haskell Libraries Team <libraries@haskell.org>
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Data.Vector.Fusion.Util

Description

Fusion-related utility types

Synopsis

- newtype Id a = Id {
  - unId :: a
  }
- data Box a = Box {
  - unBox :: a
  }
- liftBox :: Monad m => Box a -> m a
- delay_inline :: (a -> b) -> a -> b
- delayed_min :: Int -> Int -> Int

# Documentation

newtype Id a Source #

Identity monad

Constructors

Id |

Fields

- unId :: a

#### Instances

Instances details

Applicative Id Source # |
Instance details Defined in Data.Vector.Fusion.Util Methods pure :: a -> Id a Source # (<*>) :: Id (a -> b) -> Id a -> Id b Source # liftA2 :: (a -> b -> c) -> Id a -> Id b -> Id c Source # (*>) :: Id a -> Id b -> Id b Source # (<*) :: Id a -> Id b -> Id a Source #
Functor Id Source # |
Instance details Defined in Data.Vector.Fusion.Util Methods fmap :: (a -> b) -> Id a -> Id b Source # (<$) :: a -> Id b -> Id a Source #
Monad Id Source # |
Instance details Defined in Data.Vector.Fusion.Util Methods (>>=) :: Id a -> (a -> Id b) -> Id b Source # (>>) :: Id a -> Id b -> Id b Source # return :: a -> Id a Source #
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 Source #
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 Source #
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 Source # (/=) :: Bundle Id v a -> Bundle Id v a -> Bool Source #
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 Source #

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

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

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

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

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

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

data Box a Source #

Box monad

Constructors

Box |

Fields

- unBox :: a

#### Instances

Instances details

Applicative Box |
Instance details Defined in Data.Stream.Monadic Methods pure :: a -> Box a Source # (<*>) :: Box (a -> b) -> Box a -> Box b Source # liftA2 :: (a -> b -> c) -> Box a -> Box b -> Box c Source # (*>) :: Box a -> Box b -> Box b Source # (<*) :: Box a -> Box b -> Box a Source #
Functor Box |
Instance details Defined in Data.Stream.Monadic Methods fmap :: (a -> b) -> Box a -> Box b Source # (<$) :: a -> Box b -> Box a Source #
Monad Box |
Instance details Defined in Data.Stream.Monadic Methods (>>=) :: Box a -> (a -> Box b) -> Box b Source # (>>) :: Box a -> Box b -> Box b Source # return :: a -> Box a Source #

liftBox :: Monad m => Box a -> m a Source #

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