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