recursion 2.2.4.3 → 2.2.4.4
raw patch · 4 files changed
+28/−6 lines, 4 files
Files
- CHANGELOG.md +4/−0
- recursion.cabal +4/−4
- src/Control/Recursion.hs +19/−1
- src/Control/Recursion/GHC.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,9 @@ # recursion +## 2.2.4.4++* Augment documentation+ ## 2.2.4.3 * Fix documentation
recursion.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.18 name: recursion-version: 2.2.4.3+version: 2.2.4.4 license: BSD3 license-file: LICENSE copyright: Copyright: (c) 2018-2020 Vanessa McHale@@ -35,16 +35,16 @@ hs-source-dirs: src default-language: Haskell2010 other-extensions:- DeriveFunctor FlexibleContexts ExistentialQuantification RankNTypes+ DeriveFunctor FlexibleContexts ExistentialQuantification Rank2Types TypeFamilies DeriveFoldable DeriveTraversable DefaultSignatures TypeOperators MultiParamTypeClasses ghc-options: -Wall build-depends: base >=4.9 && <5,- composition-prelude -any+ composition-prelude - if impl(eta -any)+ if impl(eta >=0) buildable: False if (flag(development) && !impl(ghc >=8.8))
src/Control/Recursion.hs view
@@ -5,7 +5,7 @@ {-# LANGUAGE ExistentialQuantification #-} {-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE MultiParamTypeClasses #-}-{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE Rank2Types #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeOperators #-} @@ -312,8 +312,26 @@ -- -- >>> spongebobZygo "Hello, World" -- "HeLlO, wOrLd"+--+-- >>> :set -XFlexibleContexts+-- >>> :{+-- let {+-- succDiff :: Integral a => [a] -> [a] ;+-- succDiff = zygo a pa+-- where a Nil = Nothing+-- a (Cons i _) = Just i+-- pa Nil = []+-- pa (Cons x (Nothing, xs)) = []+-- pa (Cons x (Just y, xs)) = (y - x) : xs+-- }+-- :}+--+-- >>> succDiff [ i^2 | i <- [1..10] ]+-- [3,5,7,9,11,13,15,17,19] zygo :: (Recursive t) => (Base t b -> b) -> (Base t (b, a) -> a) -> t -> a zygo f g = snd . cata (\x -> (f (fmap fst x), g x))++-- todo: successive difference? -- | Paramorphism --
src/Control/Recursion/GHC.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE RankNTypes #-}+{-# LANGUAGE Rank2Types #-} -- | This module contains GHC-specific functions module Control.Recursion.GHC ( transverse