pointfree-fancy 1.1.1.13 → 1.1.1.14
raw patch · 4 files changed
+40/−30 lines, 4 filesdep ~basedep ~haskell-src-extsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: base, haskell-src-exts
API changes (from Hackage documentation)
Files
- pointfree-fancy.cabal +33/−29
- src/Plugin/Pl/Common.hs +2/−1
- src/Plugin/Pl/Rules.hs +4/−0
- test/Test.hs +1/−0
pointfree-fancy.cabal view
@@ -1,32 +1,33 @@-cabal-version: 2.0-name: pointfree-fancy-version: 1.1.1.13-license: BSD3-license-file: LICENSE-maintainer: Vanessa McHale <vamchale@gmail.com>-author: Thomas Jäger-tested-with: ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==7.10.3- ghc ==8.6.4-synopsis: Tool for refactoring expressions into pointfree form+cabal-version: 2.0+name: pointfree-fancy+version: 1.1.1.14+license: BSD3+license-file: LICENSE+maintainer: Vanessa McHale <vamchale@gmail.com>+author: Thomas Jäger+tested-with:+ ghc ==8.0.2 ghc ==8.2.2 ghc ==8.4.4 ghc ==7.10.3 ghc ==8.6.4++synopsis: Tool for refactoring expressions into pointfree form description: The pointfree tool is a standalone command-line version of the pl plugin for lambdabot.-category: Tool-build-type: Simple++category: Tool+build-type: Simple extra-source-files: ChangeLog README source-repository head- type: git+ type: git location: git://github.com/benmachine/pointfree.git library- exposed-modules:- Pointfree- hs-source-dirs: lib+ exposed-modules: Pointfree+ hs-source-dirs: lib default-language: Haskell98- ghc-options: -Wall+ ghc-options: -Wall build-depends: base -any, pointfree-internal -any@@ -39,32 +40,35 @@ Plugin.Pl.Optimize Plugin.Pl.Rules Plugin.Pl.Transform- hs-source-dirs: src++ hs-source-dirs: src default-language: Haskell98- other-extensions: FlexibleInstances PatternGuards ImplicitParams- ExistentialQuantification FlexibleInstances ScopedTypeVariables- ghc-options: -Wall+ other-extensions:+ FlexibleInstances PatternGuards ImplicitParams+ ExistentialQuantification FlexibleInstances ScopedTypeVariables++ ghc-options: -Wall build-depends:- base >=4.8 && <5.0,+ base >=4.9 && <5.0, array >=0.3 && <0.6, containers >=0.4 && <0.7,- haskell-src-exts >=1.20 && <1.21,+ haskell-src-exts >=1.20 && <1.22, transformers <0.6 executable pointfree- main-is: Main.hs+ main-is: Main.hs default-language: Haskell98- ghc-options: -Wall+ ghc-options: -Wall build-depends: base >=4.3 && <5.0, pointfree-internal -any test-suite tests- type: exitcode-stdio-1.0- main-is: Test.hs- hs-source-dirs: . test+ type: exitcode-stdio-1.0+ main-is: Test.hs+ hs-source-dirs: . test default-language: Haskell98- ghc-options: -Wall+ ghc-options: -Wall build-depends: base <5, pointfree-internal -any,
src/Plugin/Pl/Common.hs view
@@ -15,6 +15,7 @@ import Control.Arrow (first, second, (&&&), (***), (+++), (|||)) import Control.Monad+import Control.Monad.Fail (MonadFail) import Data.List (intersperse, minimumBy) import qualified Data.Map as M import Data.Maybe (fromJust, fromMaybe, isJust)@@ -122,7 +123,7 @@ lookupFix :: String -> (Assoc (), Int) lookupFix str = fromMaybe (AssocLeft (), 9 + shift) (lookupOp str) -readM :: (Monad m, Read a) => String -> m a+readM :: (MonadFail m, Monad m, Read a) => String -> m a readM s = case [x | (x,t) <- reads s, ("","") <- lex t] of [x] -> return x [] -> fail "readM: No parse."
src/Plugin/Pl/Rules.hs view
@@ -611,6 +611,10 @@ Hard $ rr (\f g -> (compE `a` f) `c` g) (\f g -> comp2E `a` f `a` g), + -- -- f .* (. g) -> f ~@~ g+ -- rr (\f g -> f `c2` (g `a` compE))+ -- (\f g -> needleE `a` f `a` g),+ -- flip (.) -> (<&>) rr (flipE `a` compE) eyeE,
test/Test.hs view
@@ -211,6 +211,7 @@ ["flip (Control.Monad.>>=) . (Control.Applicative.pure .)"], unitTest "\\(x, y) -> z" ["const z"], unitTest "\\(x, y) -> a" ["const a"],+ -- unitTest "conj f = \\x -> toA (f $ fromA x)" ["conj = toA ~@~ fromB"], unitTest "\\(f, g) x -> (f x, g x)" ["uncurry (&&&)"] ]