The ListLike package

The ListLike module provides a common interface to the various Haskell
types that are list-like. Predefined interfaces include standard
Haskell lists, Arrays, ByteStrings, and lazy ByteStrings. Custom
types can easily be made ListLike instances as well.

ListLike also provides for String-like types, such as String and
ByteString, for types that support input and output, and for types that can handle
infinite lists.

Maintainer's Corner

Readme for ListLike-3.1.5

The ListLike package provides typeclasses and instances to allow
polymorphism over many common datatypes.
The package can be built/installed with Cabal. If you have cabal-install,
simply run "cabal install ListLike" to install the package. Without
cabal-install, execute the following commands:
$ runghc Setup.hs configure
$ runghc Setup.hs build
$ runghc Setup.hs install