diff options
author | Damien Flament | 2016-11-14 14:45:55 +0100 |
---|---|---|
committer | Damien Flament | 2016-11-14 14:45:55 +0100 |
commit | f7644cc69a438ef5f0e32da7cad88548037c6039 (patch) | |
tree | 6e3f51fb3e83f34b736343868a5c3c444dac3904 | |
parent | dd99fd02081984b476968b628f92875c7c02d128 (diff) | |
download | aur-f7644cc69a438ef5f0e32da7cad88548037c6039.tar.gz |
{PATCH] Adapt to Applicative-Monad.
-rw-r--r-- | Adapt_to_Applicative-Monad.patch | 60 | ||||
-rw-r--r-- | PKGBUILD | 7 |
2 files changed, 65 insertions, 2 deletions
diff --git a/Adapt_to_Applicative-Monad.patch b/Adapt_to_Applicative-Monad.patch new file mode 100644 index 000000000000..b2c5e937985d --- /dev/null +++ b/Adapt_to_Applicative-Monad.patch @@ -0,0 +1,60 @@ +From b42af62c0398350729bfd4ce582f126723b65d27 Mon Sep 17 00:00:00 2001 +From: Nikolay Orlyuk <virkony@gmail.com> +Date: Sun, 31 May 2015 19:33:18 +0300 +Subject: [PATCH] adapt to Applicative-Monad +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Get rid of warnings in GHC 7.8.2: + +Distribution/ArchLinux/PkgBuild.hs:291:10: Warning: + ‘GetPKG’ is an instance of Monad but not Applicative - this will + become an error in GHC 7.10, under the Applicative-Monad Proposal. + +Distribution/ArchLinux/PkgBuild.hs:37:1: Warning: + Module ‘Control.Monad.Instances’ is deprecated: + This module now contains no instances and will be removed in the + future + +And error in 7.10.1: + +Distribution/ArchLinux/PkgBuild.hs:291:10: + No instance for (Applicative GetPKG) + arising from the superclasses of an instance declaration + In the instance declaration for ‘Monad GetPKG’ + +Fix according to +https://wiki.haskell.org/Functor-Applicative-Monad_Proposal#Missing_superclasses +--- + Distribution/ArchLinux/PkgBuild.hs | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Distribution/ArchLinux/PkgBuild.hs b/Distribution/ArchLinux/PkgBuild.hs +index 487ed9e..6801531 100644 +--- a/Distribution/ArchLinux/PkgBuild.hs ++++ b/Distribution/ArchLinux/PkgBuild.hs +@@ -32,8 +32,8 @@ import Data.List + import Data.Monoid hiding ((<>)) + import Debug.Trace + ++import Control.Applicative (Applicative(..)) + import Control.Monad +-import Control.Monad.Instances + import Data.Char + + +@@ -288,6 +288,10 @@ newtype GetPKG a = GetPKG { un :: String -> Either String (a,String) } + + instance Functor GetPKG where fmap = liftM + ++instance Applicative GetPKG where ++ pure = return ++ (<*>) = ap ++ + instance Monad GetPKG where + return x = GetPKG (\s -> Right (x,s)) + fail x = GetPKG (\_ -> Left x) +-- +2.10.2 + @@ -17,7 +17,8 @@ depends=("ghc") options=('strip' 'staticlibs') source=("http://hackage.haskell.org/packages/${_hkgname}-${pkgver}/${_hkgname}-${pkgver}.tar.gz" "Hide_Data-Monoid_function.patch" - "Add_FlexibleInstances.patch") + "Add_FlexibleInstances.patch" + "Adapt_to_Applicative-Monad.patch") install="${pkgname}.install" prepare() { @@ -25,6 +26,7 @@ prepare() { patch -Np1 -i "${srcdir}/Hide_Data-Monoid_function.patch" patch -Np1 -i "${srcdir}/Add_FlexibleInstances.patch" + patch -Np1 -i "${srcdir}/Adapt_to_Applicative-Monad.patch" } build() { @@ -52,4 +54,5 @@ package() { } md5sums=('13b2e9336b31b3f7a3e5410308023ae5' 'db16c7d948f0aed4909ae6a0bf7180a8' - '6a9bed2c0bb13fbc925a40c4571a7330') + '6a9bed2c0bb13fbc925a40c4571a7330' + '444868f76ba946afc96676eb47be1b81') |