diff -Nru haskell-edison-core-1.2.2.1/debian/changelog haskell-edison-core-1.3/debian/changelog --- haskell-edison-core-1.2.2.1/debian/changelog 2015-07-02 00:55:52.000000000 +0000 +++ haskell-edison-core-1.3/debian/changelog 2015-12-19 15:55:21.000000000 +0000 @@ -1,20 +1,23 @@ -haskell-edison-core (1.2.2.1-3build3) wily; urgency=medium +haskell-edison-core (1.3-1build1) xenial; urgency=medium * Rebuild for new GHC ABIs. - -- Colin Watson Thu, 02 Jul 2015 01:55:52 +0100 + -- Colin Watson Sat, 19 Dec 2015 15:55:21 +0000 -haskell-edison-core (1.2.2.1-3build2) wily; urgency=medium +haskell-edison-core (1.3-1) unstable; urgency=medium - * Rebuild for new GHC ABIs. + * Add Uploaders field, which I accidentally dropped + * New upstream release - -- Colin Watson Wed, 03 Jun 2015 16:00:45 +0100 + -- Joachim Breitner Sat, 12 Dec 2015 17:35:23 +0100 -haskell-edison-core (1.2.2.1-3build1) wily; urgency=medium +haskell-edison-core (1.2.2.1-4) experimental; urgency=medium - * Rebuild for new GHC ABIs. + * Bump standards-version to 3.9.6 + * Depend on haskell-devscripts >= 0.10 to ensure that this package + builds against GHC in experimental - -- Colin Watson Mon, 25 May 2015 12:36:01 +0100 + -- Joachim Breitner Thu, 20 Aug 2015 10:27:32 +0200 haskell-edison-core (1.2.2.1-3) unstable; urgency=medium @@ -167,9 +170,9 @@ haskell-edison (1.2.1-6) unstable; urgency=low * Update for GHC 6.8.2: - - debian/patches/01_update-cabal-file.dpatch: + - debian/patches/01_update-cabal-file.dpatch: + Add array and containers to the Build-Depends which are libraries - which are split of the base library. + which are split of the base library. + Add FlexibleInstances, TypeSynonymInstances PatternSignatures and FlexibleContexts as needed Extensions. + Add -fglashow-exts to the Ghc-Options so GHC will parse @@ -177,7 +180,7 @@ - debian/patches/20_add-haddock-file.dpatch: Updated. - debian/rules: + The location of the package specification file has changes, so - adjust the debian/rules file for that. + adjust the debian/rules file for that. + Add a link to the COPYRIGHT file in de edison-api and edison-core directories as the new Cabal version tries to install it and fails if it is missing. @@ -204,11 +207,11 @@ * Set urgency to high as this upload fixes a RC critical bug. * debian/control: - Use the new Homepage field. - * debian/rules: + * debian/rules: - Make the determination of package names and versions more robust. - gcc 4.2.0 and higher cause FTFBS if we enable --split-objs during the compilation of haskell-edison. As a workaround we disable - --split-objs if the gcc version >= 4.2.0 (Closes: #445754) + --split-objs if the gcc version >= 4.2.0 (Closes: #445754) -- Arjan Oosting Mon, 08 Oct 2007 23:39:49 +0200 @@ -264,7 +267,7 @@ incorrectly claimed Edison was under the BSD licence, when it is in fact the MIT license). * debian/control: add cpphs which is needed to build the documentation - to Build-Depends-Indep. + to Build-Depends-Indep. * debian/mk-haskell-depends: update script to take installed package configuration files as arguments. @@ -280,16 +283,16 @@ haskell-edison (1.2.0.1-4) unstable; urgency=low - * debian/control: + * debian/control: - Bump Build-Depends on ghc6 as Edison needs a new Cabal version. - Add ghc6-prof to the Build-Depends. - Let libghc6-edison-api-dev and libghc6-edison-core-dev provide libghc6-edison-api-prof and libghc6-edison-core-prof. - * debian/{ghc6.in,ghc-pkg6.in}: + * debian/{ghc6.in,ghc-pkg6.in}: - Exit on errors and show the commands executed. * debian/patches/20_add-haddock-file: generate haddock interface file when generating API documentation. - * debian/rules: + * debian/rules: - Call ./Setup configure with --enable-split-objs and --enable-libary-profiling when compiling with GHC. - Let debian/mk-haskell-depends ignore EdisonAPI-1.2. @@ -306,8 +309,8 @@ necessary and not using it simplifies the work for porters and for me. * debian/copyright: - include email from upstream with more information about the exact - licensing. - * debian/control.in: + licensing. + * debian/control.in: - add libghc6-mtl-dev and libghc6-quickcheck-dev to Build-Depends. - replace ${ghc:Depends} with ${haskell:Depends} - update maintainer email address. @@ -318,13 +321,13 @@ - replace debian/mk-ghc6-vars script with debian/mk-haskell-depends script which determines all dependencies by using the installed package description file used by ghc-pkg. - + -- Arjan Oosting Mon, 23 Oct 2006 14:08:19 +0200 haskell-edison (1.2.0.1-2) unstable; urgency=low * Add versioned build dependency on dpkg-dev as the package uses - ${binary:Version} and ${source:Version}. Thanks James Westby + ${binary:Version} and ${source:Version}. Thanks James Westby * debian/prerm.in: replaced faulty packagename Hat with @LIBRARY@ substitution variable. @@ -335,4 +338,3 @@ * Initial release (Closes: #382184) -- Arjan Oosting Thu, 10 Aug 2006 15:05:29 +0200 - diff -Nru haskell-edison-core-1.2.2.1/debian/control haskell-edison-core-1.3/debian/control --- haskell-edison-core-1.2.2.1/debian/control 2015-04-27 09:44:29.000000000 +0000 +++ haskell-edison-core-1.3/debian/control 2015-12-12 16:39:50.000000000 +0000 @@ -1,38 +1,39 @@ Source: haskell-edison-core -Section: haskell -Priority: extra Maintainer: Debian Haskell Group -Uploaders: Marco TĂșlio Gontijo e Silva -Build-Depends: cdbs - , debhelper (>= 9) - , haskell-devscripts (>= 0.9) - , ghc - , ghc-prof - , ghc-doc - , libghc-mtl-dev - , libghc-mtl-prof - , libghc-mtl-doc - , libghc-edison-api-dev (>= 1.2.2.1) - , libghc-edison-api-dev (<< 1.2.2.1+) - , libghc-edison-api-prof - , libghc-edison-api-doc - , libghc-quickcheck2-dev - , libghc-quickcheck2-prof - , libghc-quickcheck2-doc - , cpphs -Standards-Version: 3.9.4 -Homepage: http://www.cs.princeton.edu/~rdockins/edison/home/ -Vcs-Darcs: http://darcs.debian.org/pkg-haskell/haskell-edison-core -Vcs-Browser: http://darcs.debian.org/cgi-bin/darcsweb.cgi?r=pkg-haskell/haskell-edison-core +Uploaders: Joachim Breitner +Priority: extra +Section: haskell +Build-Depends: debhelper (>= 9), + haskell-devscripts (>= 0.10), + cdbs, + ghc, + ghc-prof, + libghc-edison-api-dev, + libghc-edison-api-prof, + libghc-quickcheck2-dev (>= 2.0), + libghc-quickcheck2-dev (<< 3), + libghc-quickcheck2-prof, + libghc-mtl-dev, + libghc-mtl-prof, +Build-Depends-Indep: ghc-doc, + libghc-edison-api-doc, + libghc-quickcheck2-doc, + libghc-mtl-doc, +Standards-Version: 3.9.6 +Homepage: http://rwd.rdockins.name/edison/home/ +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-haskell/DHG_packages.git/ +Vcs-Git: git://git.debian.org/git/pkg-haskell/DHG_packages.git Package: libghc-edison-core-dev Architecture: any -Depends: ${haskell:Depends}, ${shlibs:Depends}, ${misc:Depends} -Suggests: ${haskell:Suggests} -Provides: ${haskell:Provides} +Depends: ${haskell:Depends}, + ${shlibs:Depends}, + ${misc:Depends}, +Suggests: ${haskell:Suggests}, +Provides: ${haskell:Provides}, Description: Haskell library of efficent, purely-functional data structures Some concrete implementations of the abstract interface of the Edison - library for Haskell for use with ghc. + library for Haskell for use with ghc. . Edison is a library of purely function data structures for Haskell originally written by Chris Okasaki. Conceptually, it consists of two @@ -46,12 +47,14 @@ Package: libghc-edison-core-prof Architecture: any -Depends: ${haskell:Depends}, ${shlibs:Depends}, ${misc:Depends} -Suggests: ${haskell:Suggests} -Provides: ${haskell:Provides} +Depends: ${haskell:Depends}, + ${shlibs:Depends}, + ${misc:Depends}, +Suggests: ${haskell:Suggests}, +Provides: ${haskell:Provides}, Description: Haskell library of data structures; profiling libraries Some concrete implementations of the abstract interface of the Edison - library for Haskell for use with ghc. + library for Haskell for use with ghc. . Edison is a library of purely function data structures for Haskell originally written by Chris Okasaki. Conceptually, it consists of two @@ -64,17 +67,20 @@ This package contains the concrete implementations. Package: libghc-edison-core-doc -Replaces: haskell-edison-core-doc (<< 1.2.1.3-4), libghc6-edison-core-doc (<< 1:1) -Conflicts: haskell-edison-core-doc (<< 1.2.1.3-4), libghc6-edison-core-doc (<< 1:1) -Provides: haskell-edison-core-doc Architecture: all Section: doc -Depends: ${misc:Depends}, ${haskell:Depends} -Recommends: ${haskell:Recommends} -Suggests: ${haskell:Suggests} +Depends: ${misc:Depends}, + ${haskell:Depends}, +Recommends: ${haskell:Recommends}, +Suggests: ${haskell:Suggests}, +Conflicts: haskell-edison-core-doc (<< 1.2.1.3-4), + libghc6-edison-core-doc (<< 1:1), +Provides: haskell-edison-core-doc, +Replaces: haskell-edison-core-doc (<< 1.2.1.3-4), + libghc6-edison-core-doc (<< 1:1), Description: documentation of the Edison Haskell library Some concrete implementations of the abstract interface of the Edison - library for Haskell for use with hugs. + library for Haskell for use with hugs. . Edison is a library of purely function data structures for Haskell originally written by Chris Okasaki. Conceptually, it consists of two diff -Nru haskell-edison-core-1.2.2.1/debian/copyright haskell-edison-core-1.3/debian/copyright --- haskell-edison-core-1.2.2.1/debian/copyright 2015-04-27 09:44:29.000000000 +0000 +++ haskell-edison-core-1.3/debian/copyright 2015-12-12 16:35:23.000000000 +0000 @@ -3,11 +3,11 @@ It was downloaded from -Upstream Author: +Upstream Author: Chris Okasaki -Copyright: +Copyright: Copyright (c) 1998-1999 Chris Okasaki Copyright (c) 2002 Andrew Bromage @@ -25,10 +25,10 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE diff -Nru haskell-edison-core-1.2.2.1/EdisonCore.cabal haskell-edison-core-1.3/EdisonCore.cabal --- haskell-edison-core-1.2.2.1/EdisonCore.cabal 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/EdisonCore.cabal 2015-10-04 18:35:09.000000000 +0000 @@ -1,7 +1,7 @@ Name: EdisonCore -Cabal-Version: >= 1.2.3 +Cabal-Version: >= 1.22 Build-Type: Simple -Version: 1.2.2.1 +Version: 1.3 License: OtherLicense License-File: COPYRIGHT Author: Chris Okasaki @@ -17,6 +17,11 @@ implementations in this package have no dependencies other than those commonly bundled with Haskell compilers. +Source-Repository head + Type: git + Location: https://github.com/robdockins/edison/ + Subdir: edison-core + Library Hs-Source-Dirs: src Exposed-modules: @@ -47,14 +52,14 @@ Data.Edison.Seq.SimpleQueue Data.Edison.Seq.SizedSeq Build-Depends: - base < 5, + base == 4.*, mtl, QuickCheck >= 2.0 && < 3, - EdisonAPI == 1.2.2.1 - if impl( ghc >= 6.8 ) - Build-Depends: - containers, array - Extensions: + EdisonAPI, + containers, + array + Default-Language: Haskell2010 + Default-Extensions: MultiParamTypeClasses FunctionalDependencies UndecidableInstances diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/AssocList.hs haskell-edison-core-1.3/src/Data/Edison/Assoc/AssocList.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/AssocList.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Assoc/AssocList.hs 2015-10-04 18:35:09.000000000 +0000 @@ -609,7 +609,7 @@ readsPrec = readsPrecUsingFromList instance (Eq k,Arbitrary k,Arbitrary a) => Arbitrary (FM k a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[(k,a)]) <- arbitrary return (Prelude.foldr (uncurry insert) empty xs) instance (Eq k,CoArbitrary k,CoArbitrary a) => CoArbitrary (FM k a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/Defaults.hs haskell-edison-core-1.3/src/Data/Edison/Assoc/Defaults.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/Defaults.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Assoc/Defaults.hs 2015-10-04 18:35:09.000000000 +0000 @@ -42,9 +42,6 @@ Just _ -> True Nothing -> False -sizeUsingElements :: (AssocX m k) => m a -> Int -sizeUsingElements m = length (elements m) - countUsingMember :: AssocX m k => k -> m a -> Int countUsingMember k m = if member k m then 1 else 0 diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/PatriciaLoMap.hs haskell-edison-core-1.3/src/Data/Edison/Assoc/PatriciaLoMap.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/PatriciaLoMap.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Assoc/PatriciaLoMap.hs 2015-10-04 18:35:09.000000000 +0000 @@ -831,7 +831,7 @@ compare = compareUsingToOrdList instance (Arbitrary a) => Arbitrary (FM a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[(Int,a)]) <- arbitrary return (Prelude.foldr (uncurry insert) empty xs) instance (CoArbitrary a) => CoArbitrary (FM a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/StandardMap.hs haskell-edison-core-1.3/src/Data/Edison/Assoc/StandardMap.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/StandardMap.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Assoc/StandardMap.hs 2015-10-04 18:35:09.000000000 +0000 @@ -361,7 +361,7 @@ instance Ord k => A.OrdFiniteMap (FM k) k instance (Ord k,Arbitrary k,Arbitrary a) => Arbitrary (FM k a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[(k,a)]) <- arbitrary return (Prelude.foldr (uncurry insert) empty xs) instance (Ord k,CoArbitrary k,CoArbitrary a) => CoArbitrary (FM k a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/TernaryTrie.hs haskell-edison-core-1.3/src/Data/Edison/Assoc/TernaryTrie.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Assoc/TernaryTrie.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Assoc/TernaryTrie.hs 2015-10-04 18:35:09.000000000 +0000 @@ -1140,7 +1140,7 @@ instance (Ord k,Arbitrary k,Arbitrary a) => Arbitrary (FM k a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[([k],a)]) <- arbitrary return (Prelude.foldr (uncurry insert) empty xs) instance (Ord k,CoArbitrary k,CoArbitrary a) => CoArbitrary (FM k a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/EnumSet.hs haskell-edison-core-1.3/src/Data/Edison/Coll/EnumSet.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/EnumSet.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Coll/EnumSet.hs 2015-10-04 18:35:09.000000000 +0000 @@ -179,7 +179,7 @@ newtype Set a = Set Word deriving (Eq) wordLength :: Int -wordLength = bitSize (0::Word) +wordLength = finiteBitSize (0::Word) check :: String -> Int -> Int check msg x diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/StandardSet.hs haskell-edison-core-1.3/src/Data/Edison/Coll/StandardSet.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/StandardSet.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Coll/StandardSet.hs 2015-10-04 18:35:09.000000000 +0000 @@ -263,9 +263,8 @@ instance Ord a => C.OrdSet (Set a) a - instance (Ord a, Arbitrary a) => Arbitrary (Set a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[a]) <- arbitrary return (Prelude.foldr insert empty xs) instance (Ord a, CoArbitrary a) => CoArbitrary (Set a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/UnbalancedSet.hs haskell-edison-core-1.3/src/Data/Edison/Coll/UnbalancedSet.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Coll/UnbalancedSet.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Coll/UnbalancedSet.hs 2015-10-04 18:35:09.000000000 +0000 @@ -421,7 +421,7 @@ instance (Ord a, Arbitrary a) => Arbitrary (Set a) where - arbitrary = do xs <- arbitrary + arbitrary = do (xs::[a]) <- arbitrary return (Prelude.foldr insert empty xs) instance (Ord a, CoArbitrary a) => CoArbitrary (Set a) where diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BankersQueue.hs haskell-edison-core-1.3/src/Data/Edison/Seq/BankersQueue.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BankersQueue.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/BankersQueue.hs 2015-10-04 18:35:09.000000000 +0000 @@ -49,6 +49,8 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App + import qualified Data.Edison.Seq as S ( Sequence(..) ) import Data.Edison.Seq.Defaults import qualified Data.Edison.Seq.ListSeq as L @@ -385,6 +387,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BinaryRandList.hs haskell-edison-core-1.3/src/Data/Edison/Seq/BinaryRandList.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BinaryRandList.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/BinaryRandList.hs 2015-10-04 18:35:09.000000000 +0000 @@ -54,6 +54,7 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App import Control.Monad.Identity import Data.Maybe @@ -418,6 +419,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BraunSeq.hs haskell-edison-core-1.3/src/Data/Edison/Seq/BraunSeq.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/BraunSeq.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/BraunSeq.hs 2015-10-04 18:35:09.000000000 +0000 @@ -71,11 +71,13 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App import Control.Monad.Identity import Data.Maybe import Data.Monoid import Test.QuickCheck + import qualified Data.Edison.Seq as S ( Sequence(..) ) import Data.Edison.Seq.Defaults import qualified Data.Edison.Seq.ListSeq as L @@ -522,6 +524,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/FingerSeq.hs haskell-edison-core-1.3/src/Data/Edison/Seq/FingerSeq.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/FingerSeq.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/FingerSeq.hs 2015-10-04 18:35:09.000000000 +0000 @@ -36,6 +36,7 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App import Data.Edison.Prelude (measure, Measured()) import qualified Data.Edison.Seq as S import Data.Edison.Seq.Defaults @@ -348,6 +349,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/JoinList.hs haskell-edison-core-1.3/src/Data/Edison/Seq/JoinList.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/JoinList.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/JoinList.hs 2015-10-04 18:35:09.000000000 +0000 @@ -53,6 +53,8 @@ zip,zip3,zipWith,zipWith3,unzip,unzip3,null) import qualified Data.Edison.Seq as S ( Sequence(..) ) +import qualified Control.Applicative as App + import Data.Edison.Seq.Defaults import Control.Monad import Data.Monoid @@ -387,6 +389,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/MyersStack.hs haskell-edison-core-1.3/src/Data/Edison/Seq/MyersStack.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/MyersStack.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/MyersStack.hs 2015-10-04 18:35:09.000000000 +0000 @@ -48,6 +48,7 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App import qualified Data.Edison.Seq as S ( Sequence(..) ) import Data.Edison.Seq.Defaults import Control.Monad.Identity @@ -388,6 +389,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs @@ -435,4 +447,3 @@ I don't believe any will do any better, except possibly the first -} - diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/RandList.hs haskell-edison-core-1.3/src/Data/Edison/Seq/RandList.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/RandList.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/RandList.hs 2015-10-04 18:35:09.000000000 +0000 @@ -53,6 +53,8 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App + import qualified Data.Edison.Seq as S( Sequence(..) ) import Data.Edison.Seq.Defaults import Control.Monad.Identity @@ -453,6 +455,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/RevSeq.hs haskell-edison-core-1.3/src/Data/Edison/Seq/RevSeq.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/RevSeq.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/RevSeq.hs 2015-10-04 18:35:09.000000000 +0000 @@ -56,6 +56,8 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App + import qualified Data.Edison.Seq as S import qualified Data.Edison.Seq.ListSeq as L import Data.Edison.Seq.Defaults -- only used by concatMap @@ -345,6 +347,17 @@ instance S.Sequence s => Functor (Rev s) where fmap = map +instance S.Sequence s => App.Alternative (Rev s) where + empty = empty + (<|>) = append + +instance S.Sequence s => App.Applicative (Rev s) where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance S.Sequence s => Monad (Rev s) where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/SimpleQueue.hs haskell-edison-core-1.3/src/Data/Edison/Seq/SimpleQueue.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/SimpleQueue.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/SimpleQueue.hs 2015-10-04 18:35:09.000000000 +0000 @@ -51,6 +51,8 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App + import qualified Data.Edison.Seq as S ( Sequence(..) ) import Data.Edison.Seq.Defaults import qualified Data.Edison.Seq.ListSeq as L @@ -341,6 +343,17 @@ instance Functor Seq where fmap = map +instance App.Alternative Seq where + empty = empty + (<|>) = append + +instance App.Applicative Seq where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance Monad Seq where return = singleton xs >>= k = concatMap k xs diff -Nru haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/SizedSeq.hs haskell-edison-core-1.3/src/Data/Edison/Seq/SizedSeq.hs --- haskell-edison-core-1.2.2.1/src/Data/Edison/Seq/SizedSeq.hs 2014-06-01 06:09:33.000000000 +0000 +++ haskell-edison-core-1.3/src/Data/Edison/Seq/SizedSeq.hs 2015-10-04 18:35:09.000000000 +0000 @@ -46,6 +46,8 @@ filter,takeWhile,dropWhile,lookup,take,drop,splitAt, zip,zip3,zipWith,zipWith3,unzip,unzip3,null) +import qualified Control.Applicative as App + import qualified Data.Edison.Seq as S import qualified Data.Edison.Seq.ListSeq as L import Data.Edison.Seq.Defaults -- only used by concatMap @@ -314,6 +316,17 @@ instance S.Sequence s => Functor (Sized s) where fmap = map +instance S.Sequence s => App.Alternative (Sized s) where + empty = empty + (<|>) = append + +instance S.Sequence s => App.Applicative (Sized s) where + pure = return + x <*> y = do + x' <- x + y' <- y + return (x' y') + instance S.Sequence s => Monad (Sized s) where return = singleton xs >>= k = concatMap k xs