oeis2-0.1.0: README.md
# oeis2
Haskell interface for [Online Encyclopedia of Integer Sequences](https://oeis.org/); homage to [oeis](http://hackage.haskell.org/package/oeis).
## Difference from [oeis](http://hackage.haskell.org/package/oeis)
- Source data of OEIS.
: [oeis](http://hackage.haskell.org/package/oeis) use `fmt=text`, but this library use `fmt=json`.
- Possible to get all search results.
- Search functions from ID or sub-sequence are merged.
- Possibele to search from **other** than ID or sub-sequence.
- Support for HTTPS.
## Usage
Add import statement.
```haskell
import Math.OEIS
```
- Get all search results from sub-sequence
- If `n == 0`, you get all search results.
```haskell
ghci>searchSeq (SubSeq [1,2,3,4]) 0
[OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,...
ghci>length it
53
```
- Otherwise, you get first `n` search results.
```haskell
ghci>searchSeq (SubSeq [1,2,3,4]) 17
[OEIS {number = "A000027", ids = ["M0472","N0173"], seqData = [1,2,3,4,5,6,7,8,9,
ghci>length it
17
```
- Get first few terms from sub-sequence
```haskell
ghci>getSeqData (SubSeq [1,2,2,3,3,3,4,4,4,4])
Just [1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,6,6,7,7,7,7,7,7,7,...
```
- Get Mathematica function from sub-sequence
```haskell
ghci>mathematica <$> lookupSeq (SubSeq [1,2,2,3,3,3,4,4,4,4])
Just ["a[1] = 1; a[n_] := a[n] = a[n - a[n - 1]] + 1 (* _Branko Curgus_, May 12 2009 *)","Table[n, {n, 13}, {n}] // Flatten (* _Robert G. Wilson v_, May 11 2010 *)"]
```
- If no search result
```haskell
ghci>lookupSeq (ID "1145141919893")
Nothing
```
## ToDo
- Could use other functions of the searching system written in [here](https://oeis.org/hints.html).