
John Millikin schrieb:
On Thu, Dec 9, 2010 at 12:43, Michael Snoyman
wrote: For the record, enumerator (and I believe iteratee as well) uses transformers, not mtl. transformers itself is Haskell98; all FunDep code is separated out to monads-fd.
Michael
iteratee also uses 'transformers', but requires several extensions; see < http://hackage.haskell.org/packages/archive/iteratee/0.6.0.1/doc/html/src/Da...
It seems silly to avoid extensions, though; every non-trivial package on Hackage depends on them, either directly or via a dependency. For example, though 'enumerator' requires no extensions itself, it depends on both 'text' and 'bytestring', which require a ton of them.
It's not silly. If you want to use other compilers like JHC, you are lucky if the used packages are simply Haskell 98. Haskell 98 is already complicated enough. I am often very annoyed if a package imports only a simple utility function from another package that in turn depends on multiple packages that in the end require all available GHC extensions. Also using a GHC extension is often the consequence of a design flaw. E.g. (instance C String where) is possible, but the Haskell 98 solutions to it are usually cleaner. My slogan is: Solve simple problems the simple way. Most of my packages are Haskell 98. http://www.haskell.org/haskellwiki/Use_of_language_extensions