{-# LANGUAGE Trustworthy #-} -- | -- Module : Grisette.Lib.Base -- Copyright : (c) Sirui Lu 2021-2023 -- License : BSD-3-Clause (see the LICENSE file) -- -- Maintainer : siruilu@cs.washington.edu -- Stability : Experimental -- Portability : GHC only module Grisette.Lib.Base ( -- * Symbolic or mrg* variants for the operations in the base package -- ** mrg* variants for operations in "Control.Monad" mrgReturnWithStrategy, mrgBindWithStrategy, mrgReturn, (.>>=), (.>>), mrgFoldM, mrgMzero, mrgMplus, mrgFmap, -- ** mrg* variants for operations in "Data.Foldable" mrgFoldlM, mrgFoldrM, mrgTraverse_, mrgFor_, mrgMapM_, mrgForM_, mrgSequence_, mrgMsum, -- ** mrg* variants for operations in "Data.Traversable" mrgTraverse, mrgSequenceA, mrgFor, mrgMapM, mrgForM, mrgSequence, -- ** Symbolic versions for operations in "Data.List" (.!!), symFilter, symTake, symDrop, ) where import Grisette.Lib.Control.Monad ( mrgBindWithStrategy, mrgFmap, mrgFoldM, mrgMplus, mrgMzero, mrgReturn, mrgReturnWithStrategy, (.>>), (.>>=), ) import Grisette.Lib.Data.Foldable ( mrgFoldlM, mrgFoldrM, mrgForM_, mrgFor_, mrgMapM_, mrgMsum, mrgSequence_, mrgTraverse_, ) import Grisette.Lib.Data.List ( symDrop, symFilter, symTake, (.!!), ) import Grisette.Lib.Data.Traversable ( mrgFor, mrgForM, mrgMapM, mrgSequence, mrgSequenceA, mrgTraverse, )