module Hydra.Langs.Tabular where
import qualified Hydra.Core as Core
import Data.Int
import Data.List as L
import Data.Map as M
import Data.Set as S
newtype DataRow v =
DataRow {
forall v. DataRow v -> [Maybe v]
unDataRow :: [Maybe v]}
deriving (DataRow v -> DataRow v -> Bool
(DataRow v -> DataRow v -> Bool)
-> (DataRow v -> DataRow v -> Bool) -> Eq (DataRow v)
forall v. Eq v => DataRow v -> DataRow v -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall v. Eq v => DataRow v -> DataRow v -> Bool
== :: DataRow v -> DataRow v -> Bool
$c/= :: forall v. Eq v => DataRow v -> DataRow v -> Bool
/= :: DataRow v -> DataRow v -> Bool
Eq, Eq (DataRow v)
Eq (DataRow v) =>
(DataRow v -> DataRow v -> Ordering)
-> (DataRow v -> DataRow v -> Bool)
-> (DataRow v -> DataRow v -> Bool)
-> (DataRow v -> DataRow v -> Bool)
-> (DataRow v -> DataRow v -> Bool)
-> (DataRow v -> DataRow v -> DataRow v)
-> (DataRow v -> DataRow v -> DataRow v)
-> Ord (DataRow v)
DataRow v -> DataRow v -> Bool
DataRow v -> DataRow v -> Ordering
DataRow v -> DataRow v -> DataRow v
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall v. Ord v => Eq (DataRow v)
forall v. Ord v => DataRow v -> DataRow v -> Bool
forall v. Ord v => DataRow v -> DataRow v -> Ordering
forall v. Ord v => DataRow v -> DataRow v -> DataRow v
$ccompare :: forall v. Ord v => DataRow v -> DataRow v -> Ordering
compare :: DataRow v -> DataRow v -> Ordering
$c< :: forall v. Ord v => DataRow v -> DataRow v -> Bool
< :: DataRow v -> DataRow v -> Bool
$c<= :: forall v. Ord v => DataRow v -> DataRow v -> Bool
<= :: DataRow v -> DataRow v -> Bool
$c> :: forall v. Ord v => DataRow v -> DataRow v -> Bool
> :: DataRow v -> DataRow v -> Bool
$c>= :: forall v. Ord v => DataRow v -> DataRow v -> Bool
>= :: DataRow v -> DataRow v -> Bool
$cmax :: forall v. Ord v => DataRow v -> DataRow v -> DataRow v
max :: DataRow v -> DataRow v -> DataRow v
$cmin :: forall v. Ord v => DataRow v -> DataRow v -> DataRow v
min :: DataRow v -> DataRow v -> DataRow v
Ord, ReadPrec [DataRow v]
ReadPrec (DataRow v)
Int -> ReadS (DataRow v)
ReadS [DataRow v]
(Int -> ReadS (DataRow v))
-> ReadS [DataRow v]
-> ReadPrec (DataRow v)
-> ReadPrec [DataRow v]
-> Read (DataRow v)
forall v. Read v => ReadPrec [DataRow v]
forall v. Read v => ReadPrec (DataRow v)
forall v. Read v => Int -> ReadS (DataRow v)
forall v. Read v => ReadS [DataRow v]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: forall v. Read v => Int -> ReadS (DataRow v)
readsPrec :: Int -> ReadS (DataRow v)
$creadList :: forall v. Read v => ReadS [DataRow v]
readList :: ReadS [DataRow v]
$creadPrec :: forall v. Read v => ReadPrec (DataRow v)
readPrec :: ReadPrec (DataRow v)
$creadListPrec :: forall v. Read v => ReadPrec [DataRow v]
readListPrec :: ReadPrec [DataRow v]
Read, Int -> DataRow v -> ShowS
[DataRow v] -> ShowS
DataRow v -> String
(Int -> DataRow v -> ShowS)
-> (DataRow v -> String)
-> ([DataRow v] -> ShowS)
-> Show (DataRow v)
forall v. Show v => Int -> DataRow v -> ShowS
forall v. Show v => [DataRow v] -> ShowS
forall v. Show v => DataRow v -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall v. Show v => Int -> DataRow v -> ShowS
showsPrec :: Int -> DataRow v -> ShowS
$cshow :: forall v. Show v => DataRow v -> String
show :: DataRow v -> String
$cshowList :: forall v. Show v => [DataRow v] -> ShowS
showList :: [DataRow v] -> ShowS
Show)
_DataRow :: Name
_DataRow = (String -> Name
Core.Name String
"hydra/langs/tabular.DataRow")
newtype =
{
:: [String]}
deriving (HeaderRow -> HeaderRow -> Bool
(HeaderRow -> HeaderRow -> Bool)
-> (HeaderRow -> HeaderRow -> Bool) -> Eq HeaderRow
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: HeaderRow -> HeaderRow -> Bool
== :: HeaderRow -> HeaderRow -> Bool
$c/= :: HeaderRow -> HeaderRow -> Bool
/= :: HeaderRow -> HeaderRow -> Bool
Eq, Eq HeaderRow
Eq HeaderRow =>
(HeaderRow -> HeaderRow -> Ordering)
-> (HeaderRow -> HeaderRow -> Bool)
-> (HeaderRow -> HeaderRow -> Bool)
-> (HeaderRow -> HeaderRow -> Bool)
-> (HeaderRow -> HeaderRow -> Bool)
-> (HeaderRow -> HeaderRow -> HeaderRow)
-> (HeaderRow -> HeaderRow -> HeaderRow)
-> Ord HeaderRow
HeaderRow -> HeaderRow -> Bool
HeaderRow -> HeaderRow -> Ordering
HeaderRow -> HeaderRow -> HeaderRow
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: HeaderRow -> HeaderRow -> Ordering
compare :: HeaderRow -> HeaderRow -> Ordering
$c< :: HeaderRow -> HeaderRow -> Bool
< :: HeaderRow -> HeaderRow -> Bool
$c<= :: HeaderRow -> HeaderRow -> Bool
<= :: HeaderRow -> HeaderRow -> Bool
$c> :: HeaderRow -> HeaderRow -> Bool
> :: HeaderRow -> HeaderRow -> Bool
$c>= :: HeaderRow -> HeaderRow -> Bool
>= :: HeaderRow -> HeaderRow -> Bool
$cmax :: HeaderRow -> HeaderRow -> HeaderRow
max :: HeaderRow -> HeaderRow -> HeaderRow
$cmin :: HeaderRow -> HeaderRow -> HeaderRow
min :: HeaderRow -> HeaderRow -> HeaderRow
Ord, ReadPrec [HeaderRow]
ReadPrec HeaderRow
Int -> ReadS HeaderRow
ReadS [HeaderRow]
(Int -> ReadS HeaderRow)
-> ReadS [HeaderRow]
-> ReadPrec HeaderRow
-> ReadPrec [HeaderRow]
-> Read HeaderRow
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: Int -> ReadS HeaderRow
readsPrec :: Int -> ReadS HeaderRow
$creadList :: ReadS [HeaderRow]
readList :: ReadS [HeaderRow]
$creadPrec :: ReadPrec HeaderRow
readPrec :: ReadPrec HeaderRow
$creadListPrec :: ReadPrec [HeaderRow]
readListPrec :: ReadPrec [HeaderRow]
Read, Int -> HeaderRow -> ShowS
[HeaderRow] -> ShowS
HeaderRow -> String
(Int -> HeaderRow -> ShowS)
-> (HeaderRow -> String)
-> ([HeaderRow] -> ShowS)
-> Show HeaderRow
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> HeaderRow -> ShowS
showsPrec :: Int -> HeaderRow -> ShowS
$cshow :: HeaderRow -> String
show :: HeaderRow -> String
$cshowList :: [HeaderRow] -> ShowS
showList :: [HeaderRow] -> ShowS
Show)
= (String -> Name
Core.Name String
"hydra/langs/tabular.HeaderRow")
data Table v =
Table {
:: (Maybe HeaderRow),
forall v. Table v -> [DataRow v]
tableData :: [DataRow v]}
deriving (Table v -> Table v -> Bool
(Table v -> Table v -> Bool)
-> (Table v -> Table v -> Bool) -> Eq (Table v)
forall v. Eq v => Table v -> Table v -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: forall v. Eq v => Table v -> Table v -> Bool
== :: Table v -> Table v -> Bool
$c/= :: forall v. Eq v => Table v -> Table v -> Bool
/= :: Table v -> Table v -> Bool
Eq, Eq (Table v)
Eq (Table v) =>
(Table v -> Table v -> Ordering)
-> (Table v -> Table v -> Bool)
-> (Table v -> Table v -> Bool)
-> (Table v -> Table v -> Bool)
-> (Table v -> Table v -> Bool)
-> (Table v -> Table v -> Table v)
-> (Table v -> Table v -> Table v)
-> Ord (Table v)
Table v -> Table v -> Bool
Table v -> Table v -> Ordering
Table v -> Table v -> Table v
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
forall v. Ord v => Eq (Table v)
forall v. Ord v => Table v -> Table v -> Bool
forall v. Ord v => Table v -> Table v -> Ordering
forall v. Ord v => Table v -> Table v -> Table v
$ccompare :: forall v. Ord v => Table v -> Table v -> Ordering
compare :: Table v -> Table v -> Ordering
$c< :: forall v. Ord v => Table v -> Table v -> Bool
< :: Table v -> Table v -> Bool
$c<= :: forall v. Ord v => Table v -> Table v -> Bool
<= :: Table v -> Table v -> Bool
$c> :: forall v. Ord v => Table v -> Table v -> Bool
> :: Table v -> Table v -> Bool
$c>= :: forall v. Ord v => Table v -> Table v -> Bool
>= :: Table v -> Table v -> Bool
$cmax :: forall v. Ord v => Table v -> Table v -> Table v
max :: Table v -> Table v -> Table v
$cmin :: forall v. Ord v => Table v -> Table v -> Table v
min :: Table v -> Table v -> Table v
Ord, ReadPrec [Table v]
ReadPrec (Table v)
Int -> ReadS (Table v)
ReadS [Table v]
(Int -> ReadS (Table v))
-> ReadS [Table v]
-> ReadPrec (Table v)
-> ReadPrec [Table v]
-> Read (Table v)
forall v. Read v => ReadPrec [Table v]
forall v. Read v => ReadPrec (Table v)
forall v. Read v => Int -> ReadS (Table v)
forall v. Read v => ReadS [Table v]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
$creadsPrec :: forall v. Read v => Int -> ReadS (Table v)
readsPrec :: Int -> ReadS (Table v)
$creadList :: forall v. Read v => ReadS [Table v]
readList :: ReadS [Table v]
$creadPrec :: forall v. Read v => ReadPrec (Table v)
readPrec :: ReadPrec (Table v)
$creadListPrec :: forall v. Read v => ReadPrec [Table v]
readListPrec :: ReadPrec [Table v]
Read, Int -> Table v -> ShowS
[Table v] -> ShowS
Table v -> String
(Int -> Table v -> ShowS)
-> (Table v -> String) -> ([Table v] -> ShowS) -> Show (Table v)
forall v. Show v => Int -> Table v -> ShowS
forall v. Show v => [Table v] -> ShowS
forall v. Show v => Table v -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: forall v. Show v => Int -> Table v -> ShowS
showsPrec :: Int -> Table v -> ShowS
$cshow :: forall v. Show v => Table v -> String
show :: Table v -> String
$cshowList :: forall v. Show v => [Table v] -> ShowS
showList :: [Table v] -> ShowS
Show)
_Table :: Name
_Table = (String -> Name
Core.Name String
"hydra/langs/tabular.Table")
= (String -> Name
Core.Name String
"header")
_Table_data :: Name
_Table_data = (String -> Name
Core.Name String
"data")