module Math.OEIS.Types where import qualified Data.Text as T type SeqData = [Integer] type Texts = [T.Text] data SearchStatus = ID T.Text | SubSeq SeqData | Signed T.Text | Name T.Text | Comment T.Text | Ref T.Text | Link T.Text | Formula T.Text | Example T.Text | Maple T.Text | Mathematica T.Text | Offset T.Text | Program T.Text | XRef T.Text | KeyWord T.Text | Author T.Text | Extension T.Text | Others T.Text deriving (Show, Eq) --data Language = Haskell | PARI | L T.Text deriving (Show, Eq) type Language = T.Text type Program = (Language, [T.Text]) data Keyword = Base | Bref | Changed | Cofr | Cons | Core | Dead | Dumb | Dupe | Easy | Eigen | Fini | Frac | Full | Hard | More | Mult | New | Nice | Nonn | Obsc | Sign | Tabf | Tabl | Uned | Unkn | Walk | Word | Look | Other deriving (Eq, Show, Read) data OEISData = INT Integer | SEQ SeqData | TXT T.Text | TXTS Texts | KEYS [Keyword] | PRGS [Program] deriving (Show) data OEISSeq = OEIS { number :: T.Text, ids :: Texts, seqData :: SeqData, name :: T.Text, comment :: Texts, reference :: Texts, link :: Texts, formula :: Texts, example :: Texts, maple :: Texts, mathematica :: Texts, program :: [Program], xref :: Texts, keyword :: [Keyword], offset :: Integer, author :: T.Text, ext :: Texts, references :: Integer, revision :: Integer, time :: T.Text, created :: T.Text } deriving (Show, Eq, Read)