packages feed

list-t 1.0.0.1 → 1.0.1

raw patch · 3 files changed

+91/−18 lines, 3 filesdep +semigroupsdep ~basedep ~base-preludePVP ok

version bump matches the API change (PVP)

Dependencies added: semigroups

Dependency ranges changed: base, base-prelude

API changes (from Hackage documentation)

+ ListT: instance GHC.Base.Monad m => Data.Semigroup.Semigroup (ListT.ListT m a)

Files

library/ListT.hs view
@@ -33,15 +33,7 @@ ) where -import BasePrelude hiding (uncons, toList, yield, fold, traverse, head, tail, take, drop, repeat, null, traverse_, splitAt)-import Control.Monad.Morph hiding (MonadTrans(..))-import Control.Monad.IO.Class-import Control.Monad.Error.Class -import Control.Monad.Trans.Class-import Control.Monad.Trans.Reader-import Control.Monad.Trans.Maybe-import Control.Monad.Trans.Control hiding (embed, embed_)-import Control.Monad.Base+import ListT.Prelude hiding (uncons, toList, yield, fold, traverse, head, tail, take, drop, repeat, null, traverse_, splitAt)  -- | -- A proper implementation of the list monad-transformer.@@ -54,18 +46,21 @@ newtype ListT m a =   ListT (m (Maybe (a, ListT m a))) -instance Monad m => Monoid (ListT m a) where-  mempty =-    ListT $ -      return Nothing-  mappend (ListT m1) (ListT m2) =+instance Monad m => Semigroup (ListT m a) where+  (<>) (ListT m1) (ListT m2) =     ListT $       m1 >>=         \case           Nothing ->             m2           Just (h1, s1') ->-            return (Just (h1, (mappend s1' (ListT m2))))+            return (Just (h1, ((<>) s1' (ListT m2))))++instance Monad m => Monoid (ListT m a) where+  mempty =+    ListT $ +      return Nothing+  mappend = (<>)  instance Functor m => Functor (ListT m) where   fmap f =
+ library/ListT/Prelude.hs view
@@ -0,0 +1,75 @@+module ListT.Prelude+( +  module Exports,+)+where++import Control.Applicative as Exports+import Control.Arrow as Exports+import Control.Category as Exports+import Control.Concurrent as Exports+import Control.Exception as Exports+import Control.Monad as Exports hiding (mapM_, sequence_, forM_, msum, mapM, sequence, forM)+import Control.Monad.Base as Exports+import Control.Monad.Error.Class as Exports+import Control.Monad.Fix as Exports hiding (fix)+import Control.Monad.IO.Class as Exports+import Control.Monad.Morph as Exports hiding (MonadTrans(..))+import Control.Monad.ST as Exports+import Control.Monad.Trans.Class as Exports+import Control.Monad.Trans.Control as Exports hiding (embed, embed_)+import Control.Monad.Trans.Maybe as Exports hiding (liftCatch, liftCallCC)+import Control.Monad.Trans.Reader as Exports hiding (liftCatch, liftCallCC)+import Data.Bits as Exports+import Data.Bool as Exports+import Data.Char as Exports+import Data.Coerce as Exports+import Data.Complex as Exports+import Data.Data as Exports+import Data.Dynamic as Exports+import Data.Either as Exports+import Data.Fixed as Exports+import Data.Foldable as Exports+import Data.Function as Exports hiding (id, (.))+import Data.Functor as Exports+import Data.Int as Exports+import Data.IORef as Exports+import Data.Ix as Exports+import Data.List as Exports hiding (sortOn, isSubsequenceOf, uncons, concat, foldr, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, find, maximumBy, minimumBy, mapAccumL, mapAccumR, foldl')+import Data.Maybe as Exports+import Data.Monoid as Exports hiding (getLast, getFirst, (<>), Last, First)+import Data.Ord as Exports+import Data.Proxy as Exports+import Data.Ratio as Exports+import Data.Semigroup as Exports+import Data.STRef as Exports+import Data.String as Exports+import Data.Traversable as Exports+import Data.Tuple as Exports+import Data.Unique as Exports+import Data.Version as Exports+import Data.Word as Exports+import Debug.Trace as Exports+import Foreign.ForeignPtr as Exports+import Foreign.Ptr as Exports+import Foreign.StablePtr as Exports+import Foreign.Storable as Exports+import GHC.Conc as Exports hiding (withMVar, threadWaitWriteSTM, threadWaitWrite, threadWaitReadSTM, threadWaitRead)+import GHC.Exts as Exports (lazy, inline, sortWith, groupWith)+import GHC.Generics as Exports (Generic)+import GHC.IO.Exception as Exports+import Numeric as Exports+import Prelude as Exports hiding (concat, foldr, mapM_, sequence_, foldl1, maximum, minimum, product, sum, all, and, any, concatMap, elem, foldl, foldr1, notElem, or, mapM, sequence, id, (.))+import System.Environment as Exports+import System.Exit as Exports+import System.IO as Exports (Handle, hClose)+import System.IO.Error as Exports+import System.IO.Unsafe as Exports+import System.Mem as Exports+import System.Mem.StableName as Exports+import System.Timeout as Exports+import Text.ParserCombinators.ReadP as Exports (ReadP, ReadS, readP_to_S, readS_to_P)+import Text.ParserCombinators.ReadPrec as Exports (ReadPrec, readPrec_to_P, readP_to_Prec, readPrec_to_S, readS_to_Prec)+import Text.Printf as Exports (printf, hPrintf)+import Text.Read as Exports (Read(..), readMaybe, readEither)+import Unsafe.Coerce as Exports
list-t.cabal view
@@ -1,7 +1,7 @@ name:   list-t version:-  1.0.0.1+  1.0.1 synopsis:   ListT done right description:@@ -39,17 +39,20 @@ library   hs-source-dirs:     library-  other-modules:   exposed-modules:     ListT+  other-modules:+    ListT.Prelude   build-depends:     mmorph == 1.*,     monad-control >= 0.3 && < 2,     mtl == 2.*,     transformers-base == 0.4.*,     transformers >= 0.3 && < 0.6,-    base-prelude < 2,     base < 5+  if !impl(ghc >= 8.0)+    build-depends:+      semigroups >= 0.11 && < 0.19   default-extensions:     Arrows, BangPatterns, ConstraintKinds, DataKinds, DefaultSignatures, DeriveDataTypeable, DeriveFunctor, DeriveGeneric, EmptyDataDecls, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs, GeneralizedNewtypeDeriving, LambdaCase, LiberalTypeSynonyms, MagicHash, MultiParamTypeClasses, MultiWayIf, NoImplicitPrelude, NoMonomorphismRestriction, OverloadedStrings, PatternGuards, ParallelListComp, PolyKinds, QuasiQuotes, RankNTypes, RecordWildCards, ScopedTypeVariables, StandaloneDeriving, TemplateHaskell, TupleSections, TypeFamilies, TypeOperators, UnboxedTuples   default-language: