{-# LANGUAGE Trustworthy #-}
module Lambdabot.Plugin.Haskell.Eval.Trusted
    ( module Math.OEIS
    , module Test.QuickCheck.Safe
    , module Lambdabot.Plugin.Haskell.Check.ShowQ
    , module Lambdabot.Plugin.Haskell.Eval.Trusted
    ) where

import Math.OEIS
import Lambdabot.Plugin.Haskell.Check.ShowQ
import Test.QuickCheck.Safe

describeSequence :: SequenceData -> Maybe String
describeSequence :: SequenceData -> Maybe String
describeSequence = (OEISSequence -> String) -> Maybe OEISSequence -> Maybe String
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
fmap OEISSequence -> String
description (Maybe OEISSequence -> Maybe String)
-> (SequenceData -> Maybe OEISSequence)
-> SequenceData
-> Maybe String
forall b c a. (b -> c) -> (a -> b) -> a -> c
. SequenceData -> Maybe OEISSequence
lookupSequence

newtype Mu f = In { Mu f -> f (Mu f)
out :: f (Mu f) }

newtype Rec a = InR { Rec a -> Rec a -> a
outR :: Rec a -> a }