Copyright | ©2020 James Alexander Feldman-Crough |
---|---|

License | MPL-2.0 |

Maintainer | alex@fldcr.com |

Safe Haskell | Safe |

Language | Haskell2010 |

## Synopsis

- newtype Series a = Series (Seq a)
- asSeq :: Functor f => (Seq a -> f (Seq b)) -> Series a -> f (Series b)
- fromSeq :: Seq a -> Series a
- toSeq :: Series a -> Seq a
- data SeriesNE a
- fromSeqNE :: Seq a -> Maybe (SeriesNE a)
- toSeqNE :: SeriesNE a -> Seq a
- pattern NonEmpty :: SeriesNE a -> Series a
- pattern Empty :: Series a
- pattern (:>>:) :: Series a -> a -> SeriesNE a
- pattern (:<<:) :: a -> Series a -> SeriesNE a
- pattern (:>:) :: Series a -> a -> Series a
- pattern (:<:) :: a -> Series a -> Series a

# Possibly empty collections

A newtype wrapper around a sequential collection.

Currently, `Series`

is implemented as a `Seq`

, but this is not guarenteed to
be true.

#### Instances

# Known non-empty collections

A non-empty `Series`

.

#### Instances

# Pattern synonyms for easy manipulation of series

pattern (:>>:) :: Series a -> a -> SeriesNE a infixl 3 Source #

Match against a non-empty `SeriesNE`

and a trailing element.

pattern (:<<:) :: a -> Series a -> SeriesNE a infixr 3 Source #

Match against a non-empty `SeriesNE`

and a leading element.