Safe Haskell | Safe-Inferred |
---|---|

Language | Haskell2010 |

## Synopsis

- data OneOrMore :: Set Type -> Type
- class Projectable (as :: Set Type) a
- class Insertable a (as :: Set Type) (as' :: Set Type)
- class Expandable (as :: Set Type) (as' :: Set Type)
- class Collapsable (as :: Set Type) (as' :: Set Type)
- class Mergeable (as :: Set Type) (as' :: Set Type) (mrg :: Set Type)
- class Selectable a where
- select :: a -> a -> a

- pattern Singleton :: a -> OneOrMore (Singleton a)
- unSingleton :: OneOrMore (Singleton a) -> a
- project :: Projectable as a => OneOrMore as -> Maybe a
- (>-) :: Insertable a as (a :- as) => a -> OneOrMore as -> OneOrMore (a :- as)
- expand :: Expandable as as' => OneOrMore as -> OneOrMore as'
- collapse :: Collapsable as as' => OneOrMore as -> Maybe (OneOrMore as')
- merge :: Mergeable as as' (as :+: as') => OneOrMore as -> OneOrMore as' -> OneOrMore (as :+: as')
- merge' :: (Mergeable as as' (as :+: as'), Expandable as (as :+: as'), Expandable as' (as :+: as')) => Maybe (OneOrMore as) -> Maybe (OneOrMore as') -> Maybe (OneOrMore (as :+: as'))

# Type

# Property

## Basic Property

class Projectable (as :: Set Type) a Source #

## Expandable and Collapsable

## Mergeable

class Selectable a where Source #

#### Instances

Ord a => Selectable a Source # | |

Defined in Data.OneOrMore.Internal |

# Function

## Single Type

unSingleton :: OneOrMore (Singleton a) -> a Source #