-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Interface for Online Encyclopedia of Integer Sequences (OEIS).
--   
--   Release notes are here
--   <a>https://github.com/23prime/oeis2/releases</a>
@package oeis2
@version 1.0.2

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

module Math.OEIS.Internal
intKeys :: [Text]
textKeys :: [Text]
textsKeys :: [Text]
keys :: Texts
(+.+) :: Text -> Text -> Text
(.+) :: Char -> Text -> Text
(+.) :: Text -> Char -> Text
showSeqData :: SeqData -> Text
readSeqData :: String -> SeqData
baseSearchURI :: Text
addPrefix :: SearchStatus -> Text
searchURI :: SearchStatus -> Text
openURL :: Text -> IO Text
getJSON :: SearchStatus -> Int -> IO Text
getResults :: SearchStatus -> Int -> Int -> Vector Value -> IO (Vector Value)
getResult :: SearchStatus -> Int -> IO (Maybe Value)
getData :: Value -> Text -> (Text, Maybe OEISData)
resultLen :: SearchStatus -> IO (Maybe Int)
emptyOEIS :: OEISSeq
addElement :: OEISSeq -> (Text, Maybe OEISData) -> OEISSeq
parseOEIS :: Value -> OEISSeq
readKeyword :: Text -> Keyword
capitalize :: Text -> Text
emptyProgram :: Program
parsePrograms :: Program -> [Program] -> [Text] -> [Program]

module Math.OEIS

-- | Get all search results on OEIS
--   
--   e.g.
--   
--   <pre>
--   ghci&gt;searchSeq (ID "A000027") 0
--   [OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,...
--   </pre>
--   
--   <pre>
--   ghci&gt;searchSeq (SubSeq [1,2,3,4]) 0
--   [OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,...
--   ghci&gt;length it
--   53
--   ghci&gt;searchSeq (SubSeq [1,2,3,4]) 17
--   [OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,8,9,
--   ghci&gt;length it
--   17
--   </pre>
--   
--   <pre>
--   ghci&gt;searchSeq (SubSeq [1,1,4,5,1,4,1,9,1,9,8,9,3]) 0
--   []
--   </pre>
searchSeq :: SearchStatus -> Int -> Vector OEISSeq

-- | searchSeq in IO
searchSeq' :: SearchStatus -> Int -> IO (Vector OEISSeq)

-- | Look up a sequence on OEIS.
--   
--   e.g.
--   
--   <pre>
--   ghci&gt;lookupSeq (ID "A000027")
--   Just (OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,...
--   </pre>
--   
--   <pre>
--   ghci&gt;lookupSeq (SubSeq [1,2,3,4])
--   Just (OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,...
--   </pre>
lookupSeq :: SearchStatus -> Maybe OEISSeq

-- | lookupSeq in IO
lookupSeq' :: SearchStatus -> IO (Maybe OEISSeq)

-- | Get sub-sequence on OEIS.
--   
--   e.g.
--   
--   <pre>
--   ghci&gt;getSeqData (ID "A000027")
--   Just [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]
--   </pre>
--   
--   <pre>
--   ghci&gt;getSeqData (SubSeq [1,2,3,4])
--   Just [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]
--   </pre>
getSeqData :: SearchStatus -> Maybe SeqData

-- | getSeqData in IO
getSeqData' :: SearchStatus -> IO (Maybe SeqData)

-- | Extend from sub-sequence.
--   
--   e.g.
--   
--   <pre>
--   ghci&gt;extendSeq [1,2,3,4]
--   [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77]
--   </pre>
--   
--   <pre>
--   ghci&gt; extendSeq [1,3,2,5,6,1,6]
--   [1,3,2,5,6,1,6]
--   </pre>
extendSeq :: SeqData -> SeqData

-- | extendSeq in IO
extendSeq' :: [Integer] -> IO [Integer]
type SeqData = [Integer]
data SearchStatus
ID :: Text -> SearchStatus
SubSeq :: SeqData -> SearchStatus
Signed :: Text -> SearchStatus
Name :: Text -> SearchStatus
Comment :: Text -> SearchStatus
Ref :: Text -> SearchStatus
Link :: Text -> SearchStatus
Formula :: Text -> SearchStatus
Example :: Text -> SearchStatus
Maple :: Text -> SearchStatus
Mathematica :: Text -> SearchStatus
Offset :: Text -> SearchStatus
Program :: Text -> SearchStatus
XRef :: Text -> SearchStatus
KeyWord :: Text -> SearchStatus
Author :: Text -> SearchStatus
Extension :: Text -> SearchStatus
Others :: Text -> SearchStatus
data Keyword
Base :: Keyword
Bref :: Keyword
Changed :: Keyword
Cofr :: Keyword
Cons :: Keyword
Core :: Keyword
Dead :: Keyword
Dumb :: Keyword
Dupe :: Keyword
Easy :: Keyword
Eigen :: Keyword
Fini :: Keyword
Frac :: Keyword
Full :: Keyword
Hard :: Keyword
More :: Keyword
Mult :: Keyword
New :: Keyword
Nice :: Keyword
Nonn :: Keyword
Obsc :: Keyword
Sign :: Keyword
Tabf :: Keyword
Tabl :: Keyword
Uned :: Keyword
Unkn :: Keyword
Walk :: Keyword
Word :: Keyword
Look :: Keyword
Other :: Keyword
data OEISSeq
OEIS :: Text -> Texts -> SeqData -> Text -> Texts -> Texts -> Texts -> Texts -> Texts -> Texts -> Texts -> [Program] -> Texts -> [Keyword] -> Integer -> Text -> Texts -> Integer -> Integer -> Text -> Text -> OEISSeq
[number] :: OEISSeq -> Text
[ids] :: OEISSeq -> Texts
[seqData] :: OEISSeq -> SeqData
[name] :: OEISSeq -> Text
[comment] :: OEISSeq -> Texts
[reference] :: OEISSeq -> Texts
[link] :: OEISSeq -> Texts
[formula] :: OEISSeq -> Texts
[example] :: OEISSeq -> Texts
[maple] :: OEISSeq -> Texts
[mathematica] :: OEISSeq -> Texts
[program] :: OEISSeq -> [Program]
[xref] :: OEISSeq -> Texts
[keyword] :: OEISSeq -> [Keyword]
[offset] :: OEISSeq -> Integer
[author] :: OEISSeq -> Text
[ext] :: OEISSeq -> Texts
[references] :: OEISSeq -> Integer
[revision] :: OEISSeq -> Integer
[time] :: OEISSeq -> Text
[created] :: OEISSeq -> Text
