type-set-0.1.0.0: Type set
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.OneOrMore

Synopsis

Type

Property

Basic Property

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

Minimal complete definition

project

Instances

Instances details
Projectable ('Nil :: Set Type) a Source # 
Instance details

Defined in Data.OneOrMore.Internal

Methods

project :: OneOrMore 'Nil -> Maybe a Source #

class Insertable a (as :: Set Type) (as' :: Set Type) Source #

Minimal complete definition

(>-.)

Expandable and Collapsable

class Expandable (as :: Set Type) (as' :: Set Type) Source #

Minimal complete definition

expand

class Collapsable (as :: Set Type) (as' :: Set Type) Source #

Minimal complete definition

collapse

Instances

Instances details
Collapsable ('Nil :: Set Type) ('Nil :: Set Type) Source # 
Instance details

Defined in Data.OneOrMore.Internal

Mergeable

class Mergeable (as :: Set Type) (as' :: Set Type) (mrg :: Set Type) Source #

Minimal complete definition

merge_

Instances

Instances details
Mergeable ('Nil :: Set Type) ('Nil :: Set Type) ('Nil :: Set Type) Source # 
Instance details

Defined in Data.OneOrMore.Internal

class Selectable a where Source #

Methods

select :: a -> a -> a Source #

Instances

Instances details
Ord a => Selectable a Source # 
Instance details

Defined in Data.OneOrMore.Internal

Methods

select :: a -> a -> a Source #

Function

Single Type

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

Multiple Type

(>-) :: Insertable a as (a :- as) => a -> OneOrMore as -> OneOrMore (a :- as) infixr 5 Source #

Expand and Collapse

expand :: Expandable as as' => OneOrMore as -> OneOrMore as' Source #

Merge

merge :: Mergeable as as' (as :+: as') => OneOrMore as -> OneOrMore as' -> OneOrMore (as :+: as') Source #

merge' :: (Mergeable as as' (as :+: as'), Expandable as (as :+: as'), Expandable as' (as :+: as')) => Maybe (OneOrMore as) -> Maybe (OneOrMore as') -> Maybe (OneOrMore (as :+: as')) Source #