module STMContainers.Prelude
(
module Exports,
bug,
bottom,
traversePair,
)
where
import BasePrelude as Exports
import Development.Placeholders as Exports
import Data.Hashable as Exports (Hashable(..))
import Control.Monad.Trans.Class as Exports
import ListT as Exports (ListT)
import qualified Debug.Trace.LocationTH
bug = [e| $(Debug.Trace.LocationTH.failure) . (msg <>) |]
where
msg = "A \"stm-containers\" package bug: " :: String
bottom = [e| $bug "Bottom evaluated" |]
traversePair :: Functor f => (a -> f b) -> (c, a) -> f (c, b)
traversePair f (x, y) = (,) x <$> f y