2018-02-28 19:27:25 +03:00
|
|
|
{-# LANGUAGE UndecidableInstances #-}
|
2018-02-27 20:04:05 +03:00
|
|
|
module Prologue (
|
|
|
|
module X
|
|
|
|
, ) where
|
2018-02-27 18:37:09 +03:00
|
|
|
|
|
|
|
|
2018-02-28 19:33:24 +03:00
|
|
|
import Data.Bifunctor.Join as X
|
|
|
|
import Data.ByteString as X (ByteString)
|
|
|
|
import Data.Functor.Both as X (Both, runBothWith, both)
|
|
|
|
import Data.IntMap as X (IntMap)
|
|
|
|
import Data.IntSet as X (IntSet)
|
|
|
|
import Data.Ix as X (Ix(..))
|
|
|
|
import Data.Map as X (Map)
|
|
|
|
import Data.Maybe as X
|
|
|
|
import Data.Sequence as X (Seq)
|
|
|
|
import Data.Set as X (Set)
|
|
|
|
import Data.Text as X (Text)
|
|
|
|
import Data.These as X
|
|
|
|
import Data.Union as X
|
|
|
|
import Data.List.NonEmpty as X (
|
|
|
|
NonEmpty(..)
|
|
|
|
, nonEmpty
|
|
|
|
, some1
|
|
|
|
)
|
2018-02-28 01:43:50 +03:00
|
|
|
|
2018-02-28 02:13:25 +03:00
|
|
|
import Control.Exception as X hiding (
|
|
|
|
throw
|
|
|
|
, throwIO
|
|
|
|
, throwTo
|
|
|
|
, assert
|
|
|
|
, Handler(..)
|
|
|
|
)
|
|
|
|
|
2018-02-28 19:33:24 +03:00
|
|
|
-- Typeclasses
|
|
|
|
import Control.Applicative as X
|
|
|
|
import Control.Arrow as X ((&&&), (***))
|
2018-02-28 19:46:42 +03:00
|
|
|
import Control.Monad as X hiding (fail, return, unless, when)
|
2018-02-28 19:33:24 +03:00
|
|
|
import Control.Monad.Except as X (MonadError(..))
|
|
|
|
import Control.Monad.Fail as X (MonadFail(..))
|
|
|
|
import Data.Algebra as X
|
|
|
|
import Data.Align.Generic as X (GAlign)
|
|
|
|
import Data.Bifoldable as X
|
|
|
|
import Data.Bifunctor as X (Bifunctor(..))
|
|
|
|
import Data.Bitraversable as X
|
|
|
|
import Data.Foldable as X hiding (product , sum)
|
|
|
|
import Data.Function as X (fix, on, (&))
|
|
|
|
import Data.Functor.Classes as X
|
|
|
|
import Data.Functor.Classes.Generic as X
|
|
|
|
import Data.Functor.Foldable as X (Base, Recursive(..), Corecursive(..))
|
|
|
|
import Data.Mergeable as X (Mergeable)
|
|
|
|
import Data.Monoid as X (Monoid(..), First(..), Last(..))
|
|
|
|
import Data.Pointed as X
|
|
|
|
import Data.Proxy as X (Proxy(..))
|
|
|
|
import Data.Semigroup as X (Semigroup(..))
|
|
|
|
import Data.Traversable as X
|
2018-02-28 02:13:25 +03:00
|
|
|
import Data.Typeable as X (Typeable)
|
2018-02-28 01:43:50 +03:00
|
|
|
import Data.Hashable as X (
|
|
|
|
Hashable
|
|
|
|
, hash
|
|
|
|
, hashWithSalt
|
|
|
|
, hashUsing
|
|
|
|
)
|
|
|
|
|
2018-02-27 20:04:05 +03:00
|
|
|
-- Generics
|
2018-02-28 01:43:50 +03:00
|
|
|
import GHC.Generics as X
|
2018-02-28 19:33:24 +03:00
|
|
|
import GHC.Stack as X
|