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)
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)