module Prelude (module A, FromInteger (..)) where import "base" Prelude as A (Functor (..), Read, Show, (<$>), ($), curry, otherwise) import Algebra as A hiding (stimes) import Control.Applicative as A (Applicative (..), Alternative (..), optional) import Control.Category as A (Category (..)) import Control.Monad as A (Monad (..), join) import Data.Bool as A (Bool (..), bool, not) import Data.Foldable as A (Foldable (..), all, any) import Data.Function as A (on, flip) import Data.Functor.Const as A (Const (..)) import Data.Functor.Identity as A (Identity (..)) import Data.Maybe as A (Maybe (..), fromMaybe, maybe) import Data.Monoid as A (Product (..), Sum (..)) import Data.Traversable as A (Traversable (..)) import Numeric.Natural as A (Natural) import Relation.Binary.Comparison as A import Util as A ((&), (∘∘), altMap) import qualified "base" Prelude as Base import qualified "base" Data.Ratio as Base class FromInteger a where fromInteger :: Base.Integer -> a instance Base.Integral a => FromInteger (Base.Ratio a) where fromInteger = Base.fromInteger instance FromInteger Base.Int where fromInteger = Base.fromInteger