algebra-dag- Infrastructure for DAG-shaped relational algebra plans

Safe HaskellNone




type AlgNode = Int Source

Identifiers for DAG nodes.

type AlgMap alg = Map alg AlgNode Source

type NodeMap a = IntMap a Source

data Algebra t b u n c Source

Tertiary, Binary, unary and leaf nodes of a relational algebra DAG.


TerOp t c c c 
BinOp b c c 
UnOp u c 
NullaryOp n 


(Eq t, Eq b, Eq u, Eq n, Eq c) => Eq (Algebra t b u n c) 
(Ord t, Ord b, Ord u, Ord n, Ord c) => Ord (Algebra t b u n c) 
(Read t, Read b, Read u, Read n, Read c) => Read (Algebra t b u n c) 
(Show t, Show b, Show u, Show n, Show c) => Show (Algebra t b u n c) 
Generic (Algebra t b u n c) 
(ToJSON t, ToJSON b, ToJSON u, ToJSON n, ToJSON c) => ToJSON (Algebra t b u n c) 
(FromJSON t, FromJSON b, FromJSON u, FromJSON n, FromJSON c) => FromJSON (Algebra t b u n c) 
type Rep (Algebra t b u n c)