module Euler.Prelude ( module X , (<&>) , showInteger, showNatural ) where import Control.Applicative as X (liftA2, Applicative (..)) import Control.Arrow as X ((&&&), (>>>), (<<<)) import Control.Monad as X (Monad (..), (=<<), guard, join) import Data.Bifunctor as X (bimap) import Data.Bool as X (Bool (..), (&&), (||), otherwise, not) import Data.Char as X (digitToInt, Char) import Data.Either as X (Either (..)) import Data.Eq as X (Eq (..)) import Data.Foldable as X (fold, foldr', foldl, foldl', maximumBy, toList, Foldable, foldMap) import Data.Function as X (id, on, flip, (&), (.), ($)) import Data.Functor as X (Functor (..), (<$>), ($>)) import Data.List as X (find, findIndex, group, inits, intercalate, permutations, sort) import Data.List.NonEmpty as X (NonEmpty (..), nonEmpty) import Data.Map as X (Map) import Data.Maybe as X (catMaybes, fromJust, fromMaybe, isJust, mapMaybe, Maybe (..)) import Data.Monoid as X (Monoid (..)) import Data.Numbers.Primes as X (isPrime, primes) import Data.Ord as X (compare, comparing, Ord (..), Ordering (..)) import Data.Ratio as X (Ratio, denominator, numerator, (%)) import Data.Semigroup as X (Semigroup (..)) import Data.Set as X (Set, (\\)) import Data.SetMap as X (SetMap) import Data.Text as X (Text, unpack) import Data.Traversable as X (sequenceA, traverse) import Data.Tuple as X (fst, snd, curry, uncurry) import Numeric.Natural as X (Natural) import Prelude as X (Integer, String, Show (..), Num (..), Integral (..), fromIntegral, Int, RealFrac (..), (^), (^^), Floating (..), undefined, Double, even, odd, recip, Rational, Fractional (..)) import System.IO as X (IO) (<&>) :: Functor f => f a -> (a -> b) -> f b (<&>) = flip fmap infixl 1 <&> showInteger :: Integer -> String showInteger = show showNatural :: Natural -> String showNatural = show