úÎS¢OIS      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR Safe-InferredFData structure for storing an OEIS entry. For more information on the  various components, see  http://oeis.org/eishelp2.html. -Catalog number(s), e.g. A000040, N1425. (%I) nThe actual sequence data (or absolute values of the sequence data in the case of signed sequences). (%S,T,U) PSigned sequence data (empty for sequences with all positive entries). (%V,W,X) (Short description of the sequence. (%N) "List of academic references. (%D) 3List of links to more information on the web. (%H) 3Formulas or equations involving the sequence. (%F) *Cross-references to other sequences. (%Y) 6Author who input the sequence into the database. (%A)  Subscript/index of the first term. (%O) Index of the first term > 1. (%O) 9Code that can be used to generate the sequence. (%p,t,o) (Corrections, extensions, or edits. (%E) Examples. (%e) Keywords. (%K) Comments. (%C) HOEIS keywords. For more information on the meaning of each keyword, see   http://oeis.org/eishelp2.html#RK. /HProgramming language that some code to generate the sequence is written D in. The only languages indicated natively by the OEIS database are G Mathematica and Maple; any other languages will be listed (usually in ; parentheses) at the beginning of the actual code snippet. 4  !"#$%&'()*+,-./01234  !"#$%&'()*+,-./0123 .-,+*)('&%$#"! /2103None456789:;<=>?@ABCDEFGH456789:;<=>?@ABCDEFGH456789:;<=>?@ABCDEFGH456789:;<=>?@ABCDEFGHNone IIInterpret a string as a OEIS request, and return the results as Strings. J:Look up a sequence in the OEIS using its search function. KKLook up a sequence in the OEIS by its catalog number. Generally this would * be its A-number, but M-numbers (from the /Encyclopedia of Integer  Sequences) and N-numbers (from the Handbook of Integer Sequences/ ) can be  used as well. #Note that the result is not in the S monad, even though the L implementation requires looking up information via the Internet. There are N no side effects to speak of, and from a practical point of view the function J is referentially transparent (OEIS A-numbers could change in theory, but  it's extremely unlikely).  Examples: F Prelude Math.OEIS> getSequenceByID "A000040" -- the prime numbers 3 Just [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47...  F Prelude Math.OEIS> getSequenceByID "nosuch" -- no such sequence!  Nothing L The same as K, but with a result in the S monad. MKLook up a sequence by ID number, returning a data structure containing the ; entirety of the information the OEIS has on the sequence. /The standard disclaimer about not being in the S monad applies.  Examples: D Prelude Math.OEIS> description `fmap` lookupSequenceByID "A000040"  Just "The prime numbers."  A Prelude Math.OEIS> keywords `fmap` lookupSequenceByID "A000105"  Just [Nonn,Hard,Nice,Core] N The same as M , but in the S monad. OHExtend a sequence by using it as a lookup to the OEIS, taking the first E sequence returned as a result, and using it to augment the original  sequence.  Note that xs! is guaranteed to be a prefix of extendSequence xs . If the E matched OEIS sequence contains any elements prior to those matching xs, H they will be dropped. In addition, if no matching sequences are found, xs  will be returned unchanged. The result is not in the S/ monad even though the implementation requires I looking up information via the Internet. There are no side effects, and A practically speaking this function is referentially transparent N (technically, results may change from time to time when the OEIS database is ; updated; this is slightly more likely than the results of K K changing, but still unlikely enough to be essentially a non-issue. Again,  purists may use P).  Examples:  2 Prelude Math.OEIS> extendSequence [5,7,11,13,17] 9 [5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71...  1 Prelude Math.OEIS> extendSequence [2,4,8,16,32] 4 [2,4,8,16,32,64,128,256,512,1024,2048,4096,8192... G Prelude Math.OEIS> extendSequence [9,8,7,41,562] -- nothing matches  [9,8,7,41,562] P The same as O , but in the S monad. T extend xs ext returns the maximal suffix of ext of which xs is a  prefix, or xs if xs$ is not a prefix of any suffixes of ext. It is  guaranteed that 0 forall xs ext. xs `isPrefixOf` (extend xs ext) QJFind a matching sequence in the OEIS database, returning a data structure J containing the entirety of the information the OEIS has on the sequence. /The standard disclaimer about not being in the S monad applies. R The same as Q , but in the S monad. IJKLMNOPTQR>  !"#$%&'()*+,-./0123IJKLMNOPQR>KMOQLNPRJI3/210.-,+*)('&%$#"!   IJKLMNOPTQRU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[ oeis-0.3.4 Math.OEISMath.OEIS.InternalMath.OEIS.Types OEISSequenceOEIS catalogNums sequenceData signedData description referenceslinksformulasxrefsauthoroffsetfirstGT1programs extensionsexampleskeywordscommentsKeywordWordWalkUnknUnedTablTabfSignObscNonnNiceNewMultMoreHardFullFracFiniEigenEasyDupeDumbDeadCoreConsCofrChangedBrefBaseLanguageOtherMaple Mathematica SequenceData baseSearchURI idSearchURI seqSearchURIgetOEISgetrequest readKeyword capitalize emptyOEIS addElement parseOEIS parseRawOEIS parseKeywordscsvItemsdel parseItem combineConts splitWordisItem joinContstrimLeft lookupOEISsearchSequence_IOgetSequenceByIDgetSequenceByID_IOlookupSequenceByIDlookupSequenceByID_IOextendSequenceextendSequence_IOlookupSequencelookupSequence_IOghc-prim GHC.TypesIOextend