{-# LANGUAGE CPP #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE PackageImports #-}
module Prelude.Spiros.Reexports
( module X
, module Base
, module Prelude.Spiros.Compatibility
) where
#include <sboo-base-feature-macros.h>
import Prelude.Spiros.Types
import Prelude.Spiros.Compatibility
import "generic-deriving" Generics.Deriving.Enum as X
( GEnum(genum)
, GIx
)
import "safe" Safe as X
import "exceptions" Control.Monad.Catch as X
( MonadThrow(..)
)
import "data-default-class" Data.Default.Class as X
( Default(..)
)
import "semigroups" Data.Semigroup.Generic as X
( gmappend, gmempty
)
import "string-conv" Data.String.Conv as X
( StringConv (..)
, Leniency (..)
, toS
, toSL
, convS
, convSL
)
import "deepseq" Control.DeepSeq as X
( NFData(..)
, force
)
import "hashable" Data.Hashable as X (Hashable(..))
import "hashable" Data.Hashable as X (hashUsing)
import "text" Data.Text as X (Text)
import "bytestring" Data.ByteString as X (ByteString)
import "transformers" Control.Monad.Trans.Class as X (MonadTrans(..))
import "mtl" Control.Monad.Reader as X
(
MonadReader(..),
asks,
Reader,
runReader,
mapReader,
withReader,
ReaderT(ReaderT),
runReaderT,
mapReaderT,
withReaderT,
)
import "mtl" Control.Monad.State as X
(
MonadState(..),
modify,
modify',
gets,
State,
runState,
evalState,
execState,
mapState,
withState,
StateT(StateT),
runStateT,
evalStateT,
execStateT,
mapStateT,
withStateT,
)
import "mtl" Control.Monad.Except as X
(
MonadError(..),
ExceptT(ExceptT),
Except,
runExceptT,
mapExceptT,
withExceptT,
runExcept,
mapExcept,
withExcept,
)
import "containers" Data.Set as X (Set)
import "containers" Data.Map as X (Map)
import "containers" Data.Sequence as X (Seq)
import "containers" Data.IntSet as X (IntSet)
import "containers" Data.IntMap as X (IntMap)
import "containers" Data.Graph as X (Graph)
import "containers" Data.Tree as X (Tree)
import "template-haskell" Language.Haskell.TH.Syntax as X (Lift)
import "base" Data.Int as X
( Int
, Int8, Int16, Int32, Int64
)
import "base" Data.Word as X
( Word
, Word8, Word16, Word32, Word64
)
import "base" Data.Void as X
( Void
, absurd
)
import "base" Data.Char as X
( Char
, isControl, isSpace
, isLower, isUpper, isAlpha, isAlphaNum, isPrint
, isDigit, isOctDigit, isHexDigit
, isLetter, isMark, isNumber, isPunctuation, isSymbol, isSeparator
, isAscii, isLatin1
, isAsciiUpper, isAsciiLower
, generalCategory
, toUpper, toLower, toTitle
, digitToInt
, intToDigit
, ord
, chr
)
import "base" Numeric.Natural as X (Natural)
import "base" Data.Ratio as X (Ratio)
import "base" Data.Maybe as X
import "base" Data.Either as X
import "base" Data.Function as X ((&),on,fix)
import "base" Text.Read as X
( readEither,readMaybe
)
import "base" Data.Ix as X
( Ix
)
import "base" Data.Bits as X
( Bits
, FiniteBits
)
import "base" Data.Foldable as X
( traverse_
, for_
, sequenceA_
, asum
)
import "base" Data.Traversable as X
( sequenceA
)
import "base" Control.Applicative as X
import "base" Control.Arrow as X
( (&&&)
, (***)
, (+++)
, (|||)
)
import "base" Control.Monad as X
( MonadPlus(..)
, void
, forever
, (>=>), (<=<)
, join
, guard, when, unless
)
import "base" Control.Category as X
(Category,(>>>),(<<<))
import "base" Control.Monad.Fix as X (MonadFix(..))
import "base" Data.Proxy as X (Proxy(..))
import "base" Data.Functor.Identity as X (Identity(..))
import "base" Data.Coerce as X (coerce, Coercible)
import "base" Data.Typeable as X
( Typeable
, typeRep
)
import "base" Data.Data as X (Data)
import "base" Control.Exception as X (assert)
#if HAS_BASE_Semigroup
import "base" Data.Semigroup as X (Semigroup(..))
#endif
#if HAS_BASE_NonEmpty
import "base" Data.List.NonEmpty as X
( NonEmpty(..)
, nonEmpty
, head, tail, last, init
, some1, scanl1, scanr1, group1, groupBy1
)
#endif
#if HAS_BASE_Bifunctor
import Data.Bifunctor as X
#else
#endif
#if HAS_BASE_Bifoldable_Bitraversable
import Data.Bifoldable as X
import Data.Bitraversable as X
#else
#endif
#if !HAS_PRELUDE_Monoid
import Data.Functor as X ((<$>))
import Data.Monoid as X (Monoid(..))
#endif
#if HAS_BASE_Contravariant
import "base" Data.Functor.Contravariant as X
( Contravariant(..)
, Predicate(..)
, Comparison(..)
, Equivalence(..)
, Op(..)
, defaultComparison
, defaultEquivalence
)
#endif
import "hashable" Data.Hashable as X (Hashable(..))
import "hashable" Data.Hashable as X (hashUsing)
#if HAS_HASHABLE_Hashable1
import "hashable" Data.Hashable.Lifted as X (Hashable1(..))
#endif
#if HAS_HASHABLE_Hashable2
import "hashable" Data.Hashable.Lifted as X (Hashable2(..))
#endif
import "deepseq" Control.DeepSeq as X (NFData(..))
#if HAS_DEEPSEQ_NFData1
import "deepseq" Control.DeepSeq as X (NFData1(..))
import "deepseq" Control.DeepSeq as X (rnf1)
#endif
#if HAS_DEEPSEQ_NFData2
import "deepseq" Control.DeepSeq as X (NFData2(..))
import "deepseq" Control.DeepSeq as X (rnf2)
#endif
#if IS_COMPILER_ghc
import "base" GHC.Exts as X
( IsList(..)
, IsString(..)
, groupWith, sortWith
)
import "base" GHC.Generics as X
( Generic
, Generic1
)
#endif
import Data.List as Base hiding
( (!!)
, find
, minimumBy, maximumBy
, scanl1, scanr1
, head, tail, last, init
, map
)
import Prelude as Base hiding
( (<), (>)
, map, sequence, sequence_
, fail
, error, undefined
, minimum, maximum
, scanl1, scanr1
, head, tail, last, init
, foldr1
, foldl1
, foldl1
, read
, toEnum
)