Simplify/Clean up prelude.inc
parent
d4b3555b77
commit
ded3192962
|
@ -235,9 +235,9 @@ addFlagReadParam shorts longs name flag =
|
||||||
InputArgs (arg1:argR) -> case runInpParseString arg1 parser of
|
InputArgs (arg1:argR) -> case runInpParseString arg1 parser of
|
||||||
Just ((), "") -> case argR of
|
Just ((), "") -> case argR of
|
||||||
[] -> Nothing
|
[] -> Nothing
|
||||||
(arg2:rest) -> readMaybe arg2 <&> \x -> (x, InputArgs rest)
|
(arg2:rest) -> Text.Read.readMaybe arg2 <&> \x -> (x, InputArgs rest)
|
||||||
Just ((), remainingStr) ->
|
Just ((), remainingStr) ->
|
||||||
readMaybe remainingStr <&> \x -> (x, InputArgs argR)
|
Text.Read.readMaybe remainingStr <&> \x -> (x, InputArgs argR)
|
||||||
Nothing -> _flag_default flag <&> \d -> (d, inp)
|
Nothing -> _flag_default flag <&> \d -> (d, inp)
|
||||||
where
|
where
|
||||||
parser :: InpParseString ()
|
parser :: InpParseString ()
|
||||||
|
@ -316,10 +316,10 @@ addFlagReadParamsAll shorts longs name flag act = addCmdPartManyInpA
|
||||||
InputArgs (arg1:argR) -> case runInpParseString arg1 parser of
|
InputArgs (arg1:argR) -> case runInpParseString arg1 parser of
|
||||||
Just ((), "") -> case argR of
|
Just ((), "") -> case argR of
|
||||||
[] -> mdef
|
[] -> mdef
|
||||||
(arg2:rest) -> (readMaybe arg2 <&> \x -> (x, InputArgs rest)) <|> mdef
|
(arg2:rest) -> (Text.Read.readMaybe arg2 <&> \x -> (x, InputArgs rest)) <|> mdef
|
||||||
where mdef = _flag_default flag <&> \p -> (p, InputArgs argR)
|
where mdef = _flag_default flag <&> \p -> (p, InputArgs argR)
|
||||||
Just ((), remainingStr) ->
|
Just ((), remainingStr) ->
|
||||||
readMaybe remainingStr <&> \x -> (x, InputArgs argR)
|
Text.Read.readMaybe remainingStr <&> \x -> (x, InputArgs argR)
|
||||||
Nothing -> Nothing
|
Nothing -> Nothing
|
||||||
where
|
where
|
||||||
parser :: InpParseString ()
|
parser :: InpParseString ()
|
||||||
|
|
|
@ -402,7 +402,7 @@ checkCmdParser mTopLevel cmdParser =
|
||||||
cmd :: CommandDesc out <- mGet
|
cmd :: CommandDesc out <- mGet
|
||||||
subCmd <- do
|
subCmd <- do
|
||||||
stackCur :: CmdDescStack <- mGet
|
stackCur :: CmdDescStack <- mGet
|
||||||
mSet $ fromMaybe (emptyCommandDesc :: CommandDesc out) mInitialDesc
|
mSet $ Maybe.fromMaybe (emptyCommandDesc :: CommandDesc out) mInitialDesc
|
||||||
mSet $ StackBottom mempty
|
mSet $ StackBottom mempty
|
||||||
processMain sub
|
processMain sub
|
||||||
c <- mGet
|
c <- mGet
|
||||||
|
@ -1102,7 +1102,7 @@ runCmdParserAExt mTopLevel inputInitial cmdParser =
|
||||||
CmdParserChild cmdStr vis _sub _act next -> do
|
CmdParserChild cmdStr vis _sub _act next -> do
|
||||||
mExisting <- takeCommandChild cmdStr
|
mExisting <- takeCommandChild cmdStr
|
||||||
let childDesc :: CommandDesc out =
|
let childDesc :: CommandDesc out =
|
||||||
fromMaybe emptyCommandDesc { _cmd_visibility = vis } mExisting
|
Maybe.fromMaybe emptyCommandDesc { _cmd_visibility = vis } mExisting
|
||||||
cmd_children %=+ Deque.snoc (cmdStr, childDesc)
|
cmd_children %=+ Deque.snoc (cmdStr, childDesc)
|
||||||
next
|
next
|
||||||
CmdParserImpl out next -> do
|
CmdParserImpl out next -> do
|
||||||
|
|
|
@ -211,7 +211,7 @@ ppHelpShallow desc =
|
||||||
PartDefault _ p -> go p
|
PartDefault _ p -> go p
|
||||||
PartSuggestion _ p -> go p
|
PartSuggestion _ p -> go p
|
||||||
PartRedirect s p ->
|
PartRedirect s p ->
|
||||||
[PP.text s $$ PP.nest 20 (fromMaybe PP.empty $ ppPartDescUsage p)]
|
[PP.text s $$ PP.nest 20 (Maybe.fromMaybe PP.empty $ ppPartDescUsage p)]
|
||||||
++ (PP.nest 2 <$> go p)
|
++ (PP.nest 2 <$> go p)
|
||||||
PartReorder ps -> ps >>= go
|
PartReorder ps -> ps >>= go
|
||||||
PartMany p -> go p
|
PartMany p -> go p
|
||||||
|
@ -276,7 +276,7 @@ ppHelpDepthOne desc =
|
||||||
visibleChildren =
|
visibleChildren =
|
||||||
[ (n, c) | (Just n, c) <- children, _cmd_visibility c == Visible ]
|
[ (n, c) | (Just n, c) <- children, _cmd_visibility c == Visible ]
|
||||||
childDescs = visibleChildren <&> \(n, c) ->
|
childDescs = visibleChildren <&> \(n, c) ->
|
||||||
PP.text n $$ PP.nest 20 (fromMaybe PP.empty (_cmd_synopsis c))
|
PP.text n $$ PP.nest 20 (Maybe.fromMaybe PP.empty (_cmd_synopsis c))
|
||||||
commandSection = if null visibleChildren
|
commandSection = if null visibleChildren
|
||||||
then PP.empty
|
then PP.empty
|
||||||
else PP.text "" $+$ PP.text "COMMANDS" $+$ PP.text "" $+$ PP.nest
|
else PP.text "" $+$ PP.text "COMMANDS" $+$ PP.text "" $+$ PP.nest
|
||||||
|
@ -299,7 +299,7 @@ ppHelpDepthOne desc =
|
||||||
PartDefault _ p -> go p
|
PartDefault _ p -> go p
|
||||||
PartSuggestion _ p -> go p
|
PartSuggestion _ p -> go p
|
||||||
PartRedirect s p ->
|
PartRedirect s p ->
|
||||||
[PP.text s $$ PP.nest 20 (fromMaybe PP.empty $ ppPartDescUsage p)]
|
[PP.text s $$ PP.nest 20 (Maybe.fromMaybe PP.empty $ ppPartDescUsage p)]
|
||||||
++ (PP.nest 2 <$> go p)
|
++ (PP.nest 2 <$> go p)
|
||||||
PartReorder ps -> ps >>= go
|
PartReorder ps -> ps >>= go
|
||||||
PartMany p -> go p
|
PartMany p -> go p
|
||||||
|
|
|
@ -1,80 +1,80 @@
|
||||||
import qualified Data.Graph
|
-- import qualified Data.Graph
|
||||||
import qualified Data.IntMap
|
-- import qualified Data.IntMap
|
||||||
import qualified Data.IntMap.Lazy
|
-- import qualified Data.IntMap.Lazy
|
||||||
import qualified Data.IntMap.Strict
|
-- import qualified Data.IntMap.Strict
|
||||||
import qualified Data.IntSet
|
-- import qualified Data.IntSet
|
||||||
import qualified Data.Map
|
-- import qualified Data.Map
|
||||||
import qualified Data.Map.Lazy
|
-- import qualified Data.Map.Lazy
|
||||||
import qualified Data.Map.Strict
|
-- import qualified Data.Map.Strict
|
||||||
import qualified Data.Sequence
|
-- import qualified Data.Sequence
|
||||||
import qualified Data.Set
|
-- import qualified Data.Set
|
||||||
import qualified Data.Tree
|
-- import qualified Data.Tree
|
||||||
|
|
||||||
import qualified Control.Concurrent.Extra
|
-- import qualified Control.Concurrent.Extra
|
||||||
import qualified Control.Exception.Extra
|
-- import qualified Control.Exception.Extra
|
||||||
import qualified Control.Monad.Extra
|
-- import qualified Control.Monad.Extra
|
||||||
import qualified Data.Either.Extra
|
-- import qualified Data.Either.Extra
|
||||||
import qualified Data.IORef.Extra
|
-- import qualified Data.IORef.Extra
|
||||||
import qualified Data.List.Extra
|
-- import qualified Data.List.Extra
|
||||||
import qualified Data.Tuple.Extra
|
-- import qualified Data.Tuple.Extra
|
||||||
import qualified Data.Version.Extra
|
-- import qualified Data.Version.Extra
|
||||||
import qualified Numeric.Extra
|
-- import qualified Numeric.Extra
|
||||||
import qualified System.Directory.Extra
|
-- import qualified System.Directory.Extra
|
||||||
import qualified System.Environment.Extra
|
-- import qualified System.Environment.Extra
|
||||||
import qualified System.IO.Extra
|
-- import qualified System.IO.Extra
|
||||||
import qualified System.Info.Extra
|
-- import qualified System.Info.Extra
|
||||||
import qualified System.Process.Extra
|
-- import qualified System.Process.Extra
|
||||||
import qualified System.Time.Extra
|
-- import qualified System.Time.Extra
|
||||||
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy
|
-- import qualified Control.Monad.Trans.MultiRWS.Lazy
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict
|
-- import qualified Control.Monad.Trans.MultiRWS.Strict
|
||||||
import qualified Control.Monad.Trans.MultiReader
|
-- import qualified Control.Monad.Trans.MultiReader
|
||||||
import qualified Control.Monad.Trans.MultiReader.Class
|
-- import qualified Control.Monad.Trans.MultiReader.Class
|
||||||
import qualified Control.Monad.Trans.MultiReader.Lazy
|
-- import qualified Control.Monad.Trans.MultiReader.Lazy
|
||||||
import qualified Control.Monad.Trans.MultiReader.Strict
|
-- import qualified Control.Monad.Trans.MultiReader.Strict
|
||||||
import qualified Control.Monad.Trans.MultiState
|
-- import qualified Control.Monad.Trans.MultiState
|
||||||
import qualified Control.Monad.Trans.MultiState.Class
|
-- import qualified Control.Monad.Trans.MultiState.Class
|
||||||
import qualified Control.Monad.Trans.MultiState.Lazy
|
-- import qualified Control.Monad.Trans.MultiState.Lazy
|
||||||
import qualified Control.Monad.Trans.MultiState.Strict
|
-- import qualified Control.Monad.Trans.MultiState.Strict
|
||||||
import qualified Control.Monad.Trans.MultiWriter
|
-- import qualified Control.Monad.Trans.MultiWriter
|
||||||
import qualified Control.Monad.Trans.MultiWriter.Class
|
-- import qualified Control.Monad.Trans.MultiWriter.Class
|
||||||
import qualified Control.Monad.Trans.MultiWriter.Lazy
|
-- import qualified Control.Monad.Trans.MultiWriter.Lazy
|
||||||
import qualified Control.Monad.Trans.MultiWriter.Strict
|
-- import qualified Control.Monad.Trans.MultiWriter.Strict
|
||||||
|
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
-- import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS
|
||||||
import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
-- import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL
|
||||||
|
|
||||||
import qualified Data.Bifunctor
|
-- import qualified Data.Bifunctor
|
||||||
import qualified Data.Bits
|
-- import qualified Data.Bits
|
||||||
import qualified Data.Bool
|
-- import qualified Data.Bool
|
||||||
import qualified Data.Char
|
-- import qualified Data.Char
|
||||||
import qualified Data.Coerce
|
-- import qualified Data.Coerce
|
||||||
import qualified Data.Complex
|
-- import qualified Data.Complex
|
||||||
import qualified Data.Data
|
-- import qualified Data.Data
|
||||||
import qualified Data.Dynamic
|
-- import qualified Data.Dynamic
|
||||||
import qualified Data.Either
|
import qualified Data.Either
|
||||||
import qualified Data.Eq
|
-- import qualified Data.Eq
|
||||||
import qualified Data.Fixed
|
-- import qualified Data.Fixed
|
||||||
import qualified Data.Foldable
|
import qualified Data.Foldable
|
||||||
import qualified Data.Function
|
import qualified Data.Function
|
||||||
import qualified Data.Functor
|
-- import qualified Data.Functor
|
||||||
import qualified Data.Functor.Identity
|
-- import qualified Data.Functor.Identity
|
||||||
import qualified Data.IORef
|
-- import qualified Data.IORef
|
||||||
import qualified Data.Int
|
-- import qualified Data.Int
|
||||||
import qualified Data.Ix
|
-- import qualified Data.Ix
|
||||||
import qualified Data.List
|
-- import qualified Data.List
|
||||||
import qualified Data.Maybe
|
-- import qualified Data.Maybe
|
||||||
import qualified Data.Monoid
|
import qualified Data.Monoid
|
||||||
import qualified Data.Ord
|
-- import qualified Data.Ord
|
||||||
import qualified Data.Proxy
|
-- import qualified Data.Proxy
|
||||||
import qualified Debug.Trace
|
-- import qualified Debug.Trace
|
||||||
import qualified Numeric
|
-- import qualified Numeric
|
||||||
import qualified Numeric.Natural
|
-- import qualified Numeric.Natural
|
||||||
import qualified System.Environment
|
import qualified System.Environment
|
||||||
import qualified System.IO
|
-- import qualified System.IO
|
||||||
import qualified Text.Read
|
import qualified Text.Read
|
||||||
import qualified Text.Show
|
-- import qualified Text.Show
|
||||||
import qualified Unsafe.Coerce
|
-- import qualified Unsafe.Coerce
|
||||||
|
|
||||||
import qualified Data.Bool as Bool
|
import qualified Data.Bool as Bool
|
||||||
import qualified Data.Char as Char
|
import qualified Data.Char as Char
|
||||||
|
@ -87,12 +87,12 @@ import qualified GHC.OldList as List
|
||||||
import qualified Data.List as List
|
import qualified Data.List as List
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
import qualified Data.IntMap as IntMap
|
-- import qualified Data.IntMap as IntMap
|
||||||
import qualified Data.IntMap.Strict as IntMapS
|
-- import qualified Data.IntMap.Strict as IntMapS
|
||||||
import qualified Data.Map.Strict as MapS
|
import qualified Data.Map.Strict as MapS
|
||||||
import qualified Data.Map.Lazy as MapL
|
import qualified Data.Map.Lazy as MapL
|
||||||
import qualified Data.Sequence as Seq
|
-- import qualified Data.Sequence as Seq
|
||||||
import qualified Data.Set as Set
|
-- import qualified Data.Set as Set
|
||||||
|
|
||||||
import qualified Control.Monad.RWS.Class as RWS.Class
|
import qualified Control.Monad.RWS.Class as RWS.Class
|
||||||
import qualified Control.Monad.Reader.Class as Reader.Class
|
import qualified Control.Monad.Reader.Class as Reader.Class
|
||||||
|
@ -105,23 +105,14 @@ import qualified Control.Monad.Trans.State.Strict as StateS
|
||||||
|
|
||||||
import Data.Functor.Identity ( Identity(..) )
|
import Data.Functor.Identity ( Identity(..) )
|
||||||
import Control.Concurrent.Chan ( Chan )
|
import Control.Concurrent.Chan ( Chan )
|
||||||
import Control.Concurrent.MVar ( MVar )
|
-- import Control.Concurrent.MVar ( MVar )
|
||||||
import Data.Int ( Int )
|
-- import Control.Monad.ST ( ST )
|
||||||
import Data.Word ( Word )
|
-- import Data.IORef ( IORef )
|
||||||
import Prelude ( Integer, Float, Double )
|
|
||||||
import Control.Monad.ST ( ST )
|
|
||||||
import Data.Bool ( Bool(..) )
|
|
||||||
import Data.Char ( Char )
|
|
||||||
import Data.Either ( Either(..) )
|
|
||||||
import Data.IORef ( IORef )
|
|
||||||
import Data.Maybe ( Maybe(..) )
|
|
||||||
import Data.Monoid ( Endo(..), All(..), Any(..), Sum(..), Product(..), First(..), Last(..), Alt(..), )
|
import Data.Monoid ( Endo(..), All(..), Any(..), Sum(..), Product(..), First(..), Last(..), Alt(..), )
|
||||||
import Data.Ord ( Ordering(..), Down(..) )
|
-- import Data.Ord ( Ordering(..), Down(..) )
|
||||||
import Data.Ratio ( Ratio, Rational )
|
-- import Data.Ratio ( Ratio, Rational )
|
||||||
import Data.String ( String )
|
|
||||||
import Data.Void ( Void )
|
import Data.Void ( Void )
|
||||||
import System.IO ( IO )
|
-- import Data.Proxy ( Proxy(..) )
|
||||||
import Data.Proxy ( Proxy(..) )
|
|
||||||
import Data.Sequence ( Seq )
|
import Data.Sequence ( Seq )
|
||||||
import Data.Semigroup ( Semigroup(..) )
|
import Data.Semigroup ( Semigroup(..) )
|
||||||
|
|
||||||
|
@ -136,6 +127,7 @@ import Prelude ( Char
|
||||||
, String
|
, String
|
||||||
, Int
|
, Int
|
||||||
, Integer
|
, Integer
|
||||||
|
, Word
|
||||||
, Float
|
, Float
|
||||||
, Double
|
, Double
|
||||||
, Bool (..)
|
, Bool (..)
|
||||||
|
@ -192,6 +184,12 @@ import Prelude ( Char
|
||||||
, (^)
|
, (^)
|
||||||
, Foldable
|
, Foldable
|
||||||
, Traversable
|
, Traversable
|
||||||
|
, mempty
|
||||||
|
, maybe
|
||||||
|
, Applicative(..)
|
||||||
|
, (<$)
|
||||||
|
, Monoid(..)
|
||||||
|
, either
|
||||||
)
|
)
|
||||||
|
|
||||||
import Data.Foldable ( foldl'
|
import Data.Foldable ( foldl'
|
||||||
|
@ -235,38 +233,31 @@ import Data.List ( partition
|
||||||
, uncons
|
, uncons
|
||||||
)
|
)
|
||||||
|
|
||||||
import Data.Tuple ( swap
|
-- import Data.Tuple ( swap
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Char ( ord
|
-- import Data.Char ( ord
|
||||||
, chr
|
-- , chr
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Maybe ( fromMaybe
|
-- import Data.Word ( Word32
|
||||||
, maybe
|
-- )
|
||||||
, listToMaybe
|
|
||||||
, maybeToList
|
|
||||||
, catMaybes
|
|
||||||
)
|
|
||||||
|
|
||||||
import Data.Word ( Word32
|
-- import Data.Ord ( comparing
|
||||||
)
|
-- , Down (..)
|
||||||
|
-- )
|
||||||
|
|
||||||
import Data.Ord ( comparing
|
-- import Data.Either ( either
|
||||||
, Down (..)
|
-- )
|
||||||
)
|
|
||||||
|
|
||||||
import Data.Either ( either
|
-- import Data.Ratio ( Ratio
|
||||||
)
|
-- , (%)
|
||||||
|
-- , numerator
|
||||||
|
-- , denominator
|
||||||
|
-- )
|
||||||
|
|
||||||
import Data.Ratio ( Ratio
|
-- import Text.Read ( readMaybe
|
||||||
, (%)
|
-- )
|
||||||
, numerator
|
|
||||||
, denominator
|
|
||||||
)
|
|
||||||
|
|
||||||
import Text.Read ( readMaybe
|
|
||||||
)
|
|
||||||
|
|
||||||
import Control.Monad ( Functor (..)
|
import Control.Monad ( Functor (..)
|
||||||
, Monad (..)
|
, Monad (..)
|
||||||
|
@ -301,56 +292,57 @@ import Control.Applicative ( Applicative (..)
|
||||||
, Alternative (..)
|
, Alternative (..)
|
||||||
)
|
)
|
||||||
|
|
||||||
import Foreign.Storable ( Storable )
|
-- import Foreign.Storable ( Storable )
|
||||||
import GHC.Exts ( Constraint )
|
-- import GHC.Exts ( Constraint )
|
||||||
|
|
||||||
import Control.Concurrent ( threadDelay
|
-- import Control.Concurrent ( threadDelay
|
||||||
, forkIO
|
-- , forkIO
|
||||||
, forkOS
|
-- , forkOS
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Control.Concurrent.MVar ( MVar
|
-- import Control.Concurrent.MVar ( MVar
|
||||||
, newEmptyMVar
|
-- , newEmptyMVar
|
||||||
, newMVar
|
-- , newMVar
|
||||||
, putMVar
|
-- , putMVar
|
||||||
, readMVar
|
-- , readMVar
|
||||||
, takeMVar
|
-- , takeMVar
|
||||||
, swapMVar
|
-- , swapMVar
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Control.Exception ( evaluate
|
-- import Control.Exception ( evaluate
|
||||||
, bracket
|
-- , bracket
|
||||||
, assert
|
-- , assert
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Debug.Trace ( trace
|
-- import Debug.Trace ( trace
|
||||||
, traceId
|
-- , traceId
|
||||||
, traceShowId
|
-- , traceShowId
|
||||||
, traceShow
|
-- , traceShow
|
||||||
, traceStack
|
-- , traceStack
|
||||||
, traceShowId
|
-- , traceShowId
|
||||||
, traceIO
|
-- , traceIO
|
||||||
, traceM
|
-- , traceM
|
||||||
, traceShowM
|
-- , traceShowM
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Foreign.ForeignPtr ( ForeignPtr
|
-- import Foreign.ForeignPtr ( ForeignPtr
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Monoid ( Monoid
|
-- import Data.Monoid ( Monoid
|
||||||
, mempty
|
-- , mempty
|
||||||
, mconcat
|
-- , mconcat
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Bifunctor ( bimap )
|
-- import Data.Bifunctor ( bimap )
|
||||||
import Data.Functor ( (<$), ($>) )
|
import Data.Functor ( (<$), ($>) )
|
||||||
import Data.Function ( (&) )
|
-- import Data.Function ( (&) )
|
||||||
import System.IO ( hFlush
|
-- import System.IO ( hFlush
|
||||||
, stdout
|
-- , stdout
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Typeable ( Typeable
|
import Data.Typeable ( Typeable
|
||||||
, cast
|
, cast
|
||||||
|
, Proxy(..)
|
||||||
)
|
)
|
||||||
|
|
||||||
import Control.Arrow ( first
|
import Control.Arrow ( first
|
||||||
|
@ -361,30 +353,30 @@ import Control.Arrow ( first
|
||||||
, (<<<)
|
, (<<<)
|
||||||
)
|
)
|
||||||
|
|
||||||
import Data.Functor.Identity ( Identity (..)
|
-- import Data.Functor.Identity ( Identity (..)
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Proxy ( Proxy (..)
|
-- import Data.Proxy ( Proxy (..)
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Version ( showVersion
|
-- import Data.Version ( showVersion
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.List.Extra ( nubOrd
|
-- import Data.List.Extra ( nubOrd
|
||||||
, stripSuffix
|
-- , stripSuffix
|
||||||
)
|
-- )
|
||||||
import Control.Monad.Extra ( whenM
|
-- import Control.Monad.Extra ( whenM
|
||||||
, unlessM
|
-- , unlessM
|
||||||
, ifM
|
-- , ifM
|
||||||
, notM
|
-- , notM
|
||||||
, orM
|
-- , orM
|
||||||
, andM
|
-- , andM
|
||||||
, anyM
|
-- , anyM
|
||||||
, allM
|
-- , allM
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Data.Tree ( Tree(..)
|
-- import Data.Tree ( Tree(..)
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Control.Monad.Trans.MultiRWS ( MonadMultiReader(..)
|
import Control.Monad.Trans.MultiRWS ( MonadMultiReader(..)
|
||||||
, MonadMultiWriter(..)
|
, MonadMultiWriter(..)
|
||||||
|
@ -392,19 +384,19 @@ import Control.Monad.Trans.MultiRWS ( MonadMultiReader(..)
|
||||||
, mGet
|
, mGet
|
||||||
)
|
)
|
||||||
|
|
||||||
import Control.Monad.Trans.MultiReader ( runMultiReaderTNil
|
-- import Control.Monad.Trans.MultiReader ( runMultiReaderTNil
|
||||||
, runMultiReaderTNil_
|
-- , runMultiReaderTNil_
|
||||||
, MultiReaderT (..)
|
-- , MultiReaderT (..)
|
||||||
, MultiReader
|
-- , MultiReader
|
||||||
, MultiReaderTNull
|
-- , MultiReaderTNull
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Control.Monad.IO.Class ( MonadIO (..)
|
-- import Control.Monad.IO.Class ( MonadIO (..)
|
||||||
)
|
-- )
|
||||||
|
|
||||||
import Control.Monad.Trans.Class ( lift
|
import Control.Monad.Trans.Class ( lift
|
||||||
)
|
)
|
||||||
import Control.Monad.Trans.Maybe ( MaybeT (..)
|
-- import Control.Monad.Trans.Maybe ( MaybeT (..)
|
||||||
)
|
-- )
|
||||||
import Lens.Micro ( (<&>)
|
import Lens.Micro ( (<&>)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue