BSD-3-Clause licensed by Yair Chuchem
Maintained by

Module documentation for 0.6.2

This version can be pinned in stack with:List-0.6.2@sha256:3604364499e42777dfb1ca3813fd66afd55202394d34cab625f3fcdfd8489a87,869

A List monad transformer and a List class. With standard list operations for Lists



  • ListT‘s Functor instance doesn’t require an underlying Monad.


  • Compatibility with Semigroup/Monoid proposal


  • ListT only available via Control.Monad.ListT. Resolves clash with other packages (for inclusion in Stackage).


  • Alternative instance


  • splitWhenM - a monadic variant of break


  • Add mapMaybe


  • Temporarily remove mapMaybe which will require bumping major version. Its previous addition in version 0.4.3 broke the hexpat package which used open imports causing a name clash when it was added.


  • Add take - a specialized version of genericTake
  • Add splitAtM
  • Add catMaybe
  • Add mapMaybe (temporarily removed in 0.4.4)


  • cons moved to List class so one could override with faster implementations
  • Add enumFrom
  • Add enumFromTo
  • Add tail
  • Add filterL


  • Control.Monad.Trans.List.Funcs: List functions specialized to ListT (to tell type inference what type is used)
  • Avoid using RankNTypes
  • cons is a right-associative operator
  • ListT also available on Control.Monad.Trans.List (reverted in 0.6.0)
  • Add concat (different from join in that inner lists are pure lists)
  • Add concatMap (different from (=<<) in that inner lists are pure lists)
  • Add scanl1
  • Add repeatM


  • Re-introduce joinM due to use-cases in hexpat
  • Add mapL


  • Add minor version number according to the package versioning policy.
  • Use transformers instead of mtl
  • Expose ListT’s data constructor
  • joinM removed. Use (>>= lift) instead. (re-introduced in 0.4.0)
  • Functor instance for ListItem
  • listStateJoin - embeds StateT inside the list.
  • Add takeWhile
  • Add sortOn
  • Add iterateM
  • Add foldl1L


  • Add instances for Eq, Ord, Read, Show
  • foldrListT' generalized to `foldrL’
  • List class independent of ListT - toListT and fromListT class functions removed.
  • Add foldrL


  • Initial version
Depends on 2 packages(full list with versions):
Used by 2 packages in lts-14.16(full list with versions):
comments powered byDisqus