basement-0.0.11: Foundation scrap box of array & string

Safe Haskell | None
Language | Haskell2010

Basement.MutableBuilder

Synopsis

- newtype Builder collection mutCollection step state err a = Builder {
  - runBuilder :: State (Offset step, BuildingState collection mutCollection step (PrimState state), Maybe err) state a
  }
- data BuildingState collection mutCollection step state = BuildingState {
  - prevChunks :: [collection]
  - prevChunksSize :: !(CountOf step)
  - curChunk :: mutCollection state
  - chunkSize :: !(CountOf step)
  }

# Documentation

newtype Builder collection mutCollection step state err a Source #

Constructors

Builder |

Fields

- runBuilder :: State (Offset step, BuildingState collection mutCollection step (PrimState state), Maybe err) state a

#### Instances

Instances details

Monad state => Monad (Builder collection mutCollection step state err) Source # |

Instance details

Defined in Basement.MutableBuilder

Methods

(>>=) :: Builder collection mutCollection step state err a -> (a -> Builder collection mutCollection step state err b) -> Builder collection mutCollection step state err b Source #

(>>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b Source #

return :: a -> Builder collection mutCollection step state err a Source #

Monad state => Functor (Builder collection mutCollection step state err) Source # |
Instance details Defined in Basement.MutableBuilder Methods fmap :: (a -> b) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b Source # (<$) :: a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err a Source #
Monad state => Applicative (Builder collection mutCollection step state err) Source # |

Instance details

Defined in Basement.MutableBuilder

Methods

pure :: a -> Builder collection mutCollection step state err a Source #

(<*>) :: Builder collection mutCollection step state err (a -> b) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b Source #

liftA2 :: (a -> b -> c) -> Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err c Source #

(*>) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err b Source #

(<*) :: Builder collection mutCollection step state err a -> Builder collection mutCollection step state err b -> Builder collection mutCollection step state err a Source #

Monad state => MonadFailure (Builder collection mutCollection step state err) Source # |
Instance details Defined in Basement.MutableBuilder Associated Types type Failure (Builder collection mutCollection step state err) Source # Methods mFail :: Failure (Builder collection mutCollection step state err) -> Builder collection mutCollection step state err () Source #
type Failure (Builder collection mutCollection step state err) Source # |
Instance details Defined in Basement.MutableBuilder type Failure (Builder collection mutCollection step state err) = err

data BuildingState collection mutCollection step state Source #

The in-progress state of a building operation.

The previous buffers are in reverse order, and this contains the current buffer and the state of progress packing the elements inside.

Constructors

BuildingState |

Fields

- prevChunks :: [collection]
- prevChunksSize :: !(CountOf step)
- curChunk :: mutCollection state
- chunkSize :: !(CountOf step)