@@ -35,6 +35,10 @@ import Rel8.Table
3535 , FromExprs, fromResult, toResult
3636 , Transpose
3737 )
38+import Rel8.Table.Alternative
39+ ( AltTable, (<|>:)
40+ , AlternativeTable, emptyTable
41+ )
3842import Rel8.Table.Bool ( bool )
3943import Rel8.Table.Eq ( EqTable, eqTable )
4044import Rel8.Table.Maybe ( MaybeTable, justTable, maybeTable, nothingTable )
@@ -59,6 +63,14 @@ instance Projectable (NullTable context) where
5963 project f (NullTable a) = NullTable (project f a)
6064
6165
66+instance context ~ Expr => AltTable (NullTable context) where
67+ ma <|>: mb = bool ma mb (isNullTable ma)
68+
69+
70+instance context ~ Expr => AlternativeTable (NullTable context) where
71+ emptyTable = nullTable
72+
73+
6274instance (Table context a, Reifiable context, context ~ context') =>
6375 Table context' (NullTable context a)
6476 where