butcher 1.3.3.1 → 1.3.3.2
raw patch · 3 files changed
+19/−5 lines, 3 filesdep ~basedep ~bifunctorsdep ~containersPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base, bifunctors, containers, extra, free, mtl, transformers
API changes (from Hackage documentation)
- UI.Butcher.Monadic: cmd_out :: forall out_adtA. Lens' (CommandDesc out_adtA) (Maybe out_adtA)
+ UI.Butcher.Monadic: cmd_out :: forall out_adtp. Lens' (CommandDesc out_adtp) (Maybe out_adtp)
- UI.Butcher.Monadic.Types: cmd_out :: forall out_adtA. Lens' (CommandDesc out_adtA) (Maybe out_adtA)
+ UI.Butcher.Monadic.Types: cmd_out :: forall out_adtp. Lens' (CommandDesc out_adtp) (Maybe out_adtp)
Files
- ChangeLog.md +7/−0
- butcher.cabal +4/−2
- src/UI/Butcher/Monadic/Internal/Core.hs +8/−3
ChangeLog.md view
@@ -1,5 +1,12 @@ # Revision history for butcher +## 1.3.3.2 -- June 2020++* Support ghc-8.10+* Drop support for ghc < 8.4+* Fix a somewhat hidden issue in the cabal file+* Add support for building / testing via haskell.nix nixpkgs overlay+ ## 1.3.3.1 -- April 2020 * Fix a cabal file mistake
butcher.cabal view
@@ -1,5 +1,5 @@ name: butcher-version: 1.3.3.1+version: 1.3.3.2 synopsis: Chops a command or program invocation into digestable pieces. description: See the <https://github.com/lspitzner/butcher/blob/master/README.md README> (it is properly formatted on github). license: BSD3@@ -37,7 +37,7 @@ other-modules: UI.Butcher.Monadic.Internal.Types UI.Butcher.Monadic.Internal.Core build-depends:- { base >=4.9 && <4.14+ { base >=4.11 && <4.15 , free < 5.2 , unsafe < 0.1 , microlens <0.5@@ -111,6 +111,8 @@ main-is: TestMain.hs other-modules: hs-source-dirs: src-tests+ include-dirs:+ srcinc default-extensions: { CPP
src/UI/Butcher/Monadic/Internal/Core.hs view
@@ -318,6 +318,7 @@ data CmdDescStack = StackBottom (Deque PartDesc) | StackLayer (Deque PartDesc) String CmdDescStack+ deriving Show descStackAdd :: PartDesc -> CmdDescStack -> CmdDescStack descStackAdd d = \case@@ -1023,7 +1024,6 @@ ++ " with remaining input: " ++ show input ]- failureCurrentShallowRerun processParsedParts $ nextF monadMisuseError continueOrMisuse :: Maybe p -> m (CmdParser f out a) continueOrMisuse = maybe monadMisuseError (processParsedParts . nextF)@@ -1143,7 +1143,12 @@ mModify (descStackAdd desc) nextF =<< iterM processCmdShallow alt - failureCurrentShallowRerun+ -- currently unused; was previously used during failure in+ -- processParsedParts. Using this leads to duplicated descs, but I fear+ -- that not using it also leads to certain problems (missing children?).+ -- Probably want to re-write into proper two-phase 1) obtain desc 2) run+ -- parser, like the applicative approach.+ _failureCurrentShallowRerun :: ( m ~ MultiRWSS.MultiRWST r w s m0 , MonadMultiState (CmdParser f out ()) m , MonadMultiState (CommandDesc out) m@@ -1151,7 +1156,7 @@ , Monad m0 ) => m ()- failureCurrentShallowRerun = do+ _failureCurrentShallowRerun = do parser :: CmdParser f out () <- mGet cmd :: CommandDesc out <- MultiRWSS.withMultiStateS emptyCommandDesc