extensible-data-0.1.0.4: Sums/products/lists/trees which can be extended in other modules

Safe HaskellSafe-Infered

Data.Extensible.Sum

Documentation

data ExtSum s whereSource

Constructors

ExtSum :: forall s x. ExtSumC s x => x -> ExtSumF x -> ExtSum s 

Instances

class (Eq x, Typeable x) => ExtSumC s x | x -> s whereSource

Associated Types

type ExtSumF x :: *Source

Methods

accessExtSum :: x -> ExtSumF x -> (s, s -> x)Source

data SumSelector s v whereSource

Constructors

:+? :: forall s x v. ExtSumC s x => x -> (ExtSumF x -> v) -> SumSelector s v 

nextExtSum :: (s -> s) -> ExtSum s -> ExtSum sSource

castExtSum :: ExtSumC s x => ExtSum s -> x -> Maybe (ExtSumF x)Source