Hi, I'm pleased to announce the first release of ListLike, a generic interface to the various list-like structures in Haskell.
This grew out of the annoyance at having to handle Strings and ByteStrings differently in my code, and has expanded on well past there. ListLike implements an API very similar to Data.List, but based on a typeclass. The module ships with instance definitions for lists, ByteStrings, lazy ByteStrings, Arrays, and even Maps. Additional classes are available for types that implement some additional features: String-like behavior, infinite list capability, and I/O. Finally, an extensive set of default functions is provided. Only minimal effort -- as little as four functions -- are needed to make your list-like type an instance of ListLike. ListLike is backed by an extensive suite of QuickCheck tests wrapped in HUnit, which tests virtually every function against every type. As of right now, 1567 test cases are executed, and all pass. Homepage: http://software.complete.org/listlike/ Download from: http://software.complete.org/listlike/downloads API ref: http://software.complete.org/listlike/static/doc/ Hackage page: http://hackage.haskell.org/cgi-bin/hackage-scripts/package/ListLike-1.0.0 -- John _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell