rel8-internal
Safe HaskellNone
LanguageHaskell2010

Rel8.Internal.Table.Alternative

Synopsis

Documentation

class AltTable (f :: Type -> Type) where Source #

Like Alt in Haskell. This class is purely a Rel8 concept, and allows you to take a choice between two tables. See also AlternativeTable.

For example, using <|>: on MaybeTable allows you to combine two tables and to return the first one that is a "just" MaybeTable.

Methods

(<|>:) :: Table Expr a => f a -> f a -> f a infixl 3 Source #

An associative binary operation on Tables.

Instances

Instances details
AltTable Query Source #

<|>: = unionAll.

Instance details

Defined in Rel8.Internal.Query

Methods

(<|>:) :: Table Expr a => Query a -> Query a -> Query a Source #

context ~ Expr => AltTable (ListTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.List

Methods

(<|>:) :: Table Expr a => ListTable context a -> ListTable context a -> ListTable context a Source #

context ~ Expr => AltTable (MaybeTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.Maybe

Methods

(<|>:) :: Table Expr a => MaybeTable context a -> MaybeTable context a -> MaybeTable context a Source #

context ~ Expr => AltTable (NonEmptyTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.NonEmpty

Methods

(<|>:) :: Table Expr a => NonEmptyTable context a -> NonEmptyTable context a -> NonEmptyTable context a Source #

context ~ Expr => AltTable (NullTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.Null

Methods

(<|>:) :: Table Expr a => NullTable context a -> NullTable context a -> NullTable context a Source #

class AltTable f => AlternativeTable (f :: Type -> Type) where Source #

Like Alternative in Haskell, some Tables form a monoid on applicative functors.

Methods

emptyTable :: Table Expr a => f a Source #

The identity of <|>:.

Instances

Instances details
AlternativeTable Query Source #

emptyTable = values [].

Instance details

Defined in Rel8.Internal.Query

Methods

emptyTable :: Table Expr a => Query a Source #

context ~ Expr => AlternativeTable (ListTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.List

Methods

emptyTable :: Table Expr a => ListTable context a Source #

context ~ Expr => AlternativeTable (MaybeTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.Maybe

Methods

emptyTable :: Table Expr a => MaybeTable context a Source #

context ~ Expr => AlternativeTable (NullTable context) Source # 
Instance details

Defined in Rel8.Internal.Table.Null

Methods

emptyTable :: Table Expr a => NullTable context a Source #