rel8-internal
Safe HaskellNone
LanguageHaskell2010

Rel8.Internal.Table.Nullify

Documentation

data Nullify (context :: Context) a Source #

Instances

Instances details
(Table context a, Reifiable context, context ~ context') => Table context' (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Associated Types

type Columns (Nullify context a) 
Instance details

Defined in Rel8.Internal.Table.Nullify

type Columns (Nullify context a) = HNullify (Columns a)
type Context (Nullify context a) 
Instance details

Defined in Rel8.Internal.Table.Nullify

type Context (Nullify context a) = Context a
type FromExprs (Nullify context a) 
Instance details

Defined in Rel8.Internal.Table.Nullify

type FromExprs (Nullify context a) = Maybe (FromExprs a)

Methods

toColumns :: Nullify context a -> Columns (Nullify context a) context' Source #

fromColumns :: Columns (Nullify context a) context' -> Nullify context a Source #

fromResult :: Columns (Nullify context a) Result -> FromExprs (Nullify context a) Source #

toResult :: FromExprs (Nullify context a) -> Columns (Nullify context a) Result Source #

Nullifiable context => Comonad (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

extract :: Nullify context a -> a

duplicate :: Nullify context a -> Nullify context (Nullify context a)

extend :: (Nullify context a -> b) -> Nullify context a -> Nullify context b

Nullifiable context => ComonadApply (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

(<@>) :: Nullify context (a -> b) -> Nullify context a -> Nullify context b

(@>) :: Nullify context a -> Nullify context b -> Nullify context b

(<@) :: Nullify context a -> Nullify context b -> Nullify context a

Nullifiable context => Applicative (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

pure :: a -> Nullify context a #

(<*>) :: Nullify context (a -> b) -> Nullify context a -> Nullify context b #

liftA2 :: (a -> b -> c) -> Nullify context a -> Nullify context b -> Nullify context c #

(*>) :: Nullify context a -> Nullify context b -> Nullify context b #

(<*) :: Nullify context a -> Nullify context b -> Nullify context a #

Nullifiable context => Functor (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

fmap :: (a -> b) -> Nullify context a -> Nullify context b #

(<$) :: a -> Nullify context b -> Nullify context a #

Nullifiable context => Monad (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

(>>=) :: Nullify context a -> (a -> Nullify context b) -> Nullify context b #

(>>) :: Nullify context a -> Nullify context b -> Nullify context b #

return :: a -> Nullify context a #

Nullifiable context => Foldable (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

fold :: Monoid m => Nullify context m -> m #

foldMap :: Monoid m => (a -> m) -> Nullify context a -> m #

foldMap' :: Monoid m => (a -> m) -> Nullify context a -> m #

foldr :: (a -> b -> b) -> b -> Nullify context a -> b #

foldr' :: (a -> b -> b) -> b -> Nullify context a -> b #

foldl :: (b -> a -> b) -> b -> Nullify context a -> b #

foldl' :: (b -> a -> b) -> b -> Nullify context a -> b #

foldr1 :: (a -> a -> a) -> Nullify context a -> a #

foldl1 :: (a -> a -> a) -> Nullify context a -> a #

toList :: Nullify context a -> [a] #

null :: Nullify context a -> Bool #

length :: Nullify context a -> Int #

elem :: Eq a => a -> Nullify context a -> Bool #

maximum :: Ord a => Nullify context a -> a #

minimum :: Ord a => Nullify context a -> a #

sum :: Num a => Nullify context a -> a #

product :: Num a => Nullify context a -> a #

Nullifiable context => Traversable (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

traverse :: Applicative f => (a -> f b) -> Nullify context a -> f (Nullify context b) #

sequenceA :: Applicative f => Nullify context (f a) -> f (Nullify context a) #

mapM :: Monad m => (a -> m b) -> Nullify context a -> m (Nullify context b) #

sequence :: Monad m => Nullify context (m a) -> m (Nullify context a) #

Projectable (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

project :: Projecting a b => Projection a b -> Nullify context a -> Nullify context b Source #

Nullifiable context => Apply (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

(<.>) :: Nullify context (a -> b) -> Nullify context a -> Nullify context b

(.>) :: Nullify context a -> Nullify context b -> Nullify context b

(<.) :: Nullify context a -> Nullify context b -> Nullify context a

liftF2 :: (a -> b -> c) -> Nullify context a -> Nullify context b -> Nullify context c

Nullifiable context => Bind (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

(>>-) :: Nullify context a -> (a -> Nullify context b) -> Nullify context b

join :: Nullify context (Nullify context a) -> Nullify context a

Nullifiable context => Extend (Nullify context) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

duplicated :: Nullify context a -> Nullify context (Nullify context a)

extended :: (Nullify context a -> b) -> Nullify context a -> Nullify context b

(EqTable a, context ~ Expr) => EqTable (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

eqTable :: Columns (Nullify context a) (Dict (Sql DBEq)) Source #

(OrdTable a, context ~ Expr) => OrdTable (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

Methods

ordTable :: Columns (Nullify context a) (Dict (Sql DBOrd)) Source #

type Transpose to (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

type Transpose to (Nullify context a) = Nullify to (Transpose to a)
type Columns (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

type Columns (Nullify context a) = HNullify (Columns a)
type Context (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

type Context (Nullify context a) = Context a
type FromExprs (Nullify context a) Source # 
Instance details

Defined in Rel8.Internal.Table.Nullify

type FromExprs (Nullify context a) = Maybe (FromExprs a)

aggregateNullify :: forall (fold :: Fold) i a. Aggregator' fold i a -> Aggregator' fold (Nullify Expr i) (Nullify Expr a) Source #

guard :: forall context (t :: HTable) tag. (Reifiable context, HTable t) => context tag -> (tag -> Bool) -> (Expr tag -> Expr Bool) -> HNullify t context -> HNullify t context Source #