mtl

package mtl
package
Monad classes using functional dependencies, with instances for various monad transformers, inspired by the paper Functional Programming with Overloading and Higher-Order Polymorphism, by Mark P Jones, in Advanced School of Functional Programming, 1995 (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html). Version 2.1.2
package mtl-evil-instances
package
WARNING: THIS PACKAGE IS EVIL. DO NOT USE IT! It is common when defining a monad transformer to define instances for that transformer for each class in the mtl library, to allow easy composition with the existing standard monad transformers. However, doing this is very tedious, and actually unnecessary, given that most of these instances across different transformers are identical, and can actually be expressed purely in terms of MonadTrans, or MonadTransControl (from the monad-control package) for the more complicated classes. The reason this is not generally done is because it requires the OverlappingInstances extension, which is generally considered evil. However, it does actually work. If you define a monad transformer, and instances for MonadTrans and MonadTransControl, and import Control.Monad.Instances.Overlapping, your monad transformer will magically have sensible instances for all the mtl type classes. And if you don't like one of the instances provided, you can always define your own instance, which will override the "default" one provided by this package, because by the rules for OverlappingInstances, your instance is more "specific" than the one exported by Control.Monad.Instances.Overlapping. The main disadvantage of this is that errors in code using OverlappingInstances can result in some really strange error messages that are not very helpful. The reason this is evil is because this places an additional burden (of dealing with confusing error messages) not just on those who use this package directly, but anybody who indirectly uses any code that, somewhere down the line, imported Control.Monad.Instances.Overlapping, due to the "viral" nature of instances. Also, if another person were to make a package very similar to this one, and somebody ended up importing both code that used this package, and code that used the other package, than neither of them would work anymore. This is the problem with orphan instances. If you absolutely insist on using this code, you should probably define manual instances for the mtl classes the hard way as well, to avoid this kind of breakage (thus defeating the purpose of this package). Of course, realistically, this package is for everyone who wishes to ignore all such advice and do bad things anyway (including myself). This is my gift to you! Version 0.1
package mtl-tf
package
A port of the mtl to type families. A monad transformer library, inspired by the paper Functional Programming with Overloading and Higher-Order Polymorphism, by Mark P Jones (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html), Advanced School of Functional Programming, 1995. Version 0.1
package mtlparse
package
parse library on mtl package Parse and ParseT is like State and StateT The package ease implementation of look-ahead look-behind and so on. Version 0.1.2
package mtlx
package
A monad transformer library with type indexes, which allows the programmer to get a distinct copy of one of the monads without reproducing definitions and instances.  It currently supports IdentityX, ReaderX, StateX, WriterX, RWSX, and ErrorX monads (and their transformer versions).  All these copies can be combined into a transformer stack, including any of the original mtl monads. Inspired by the original mtl.  That library was inspired by the paper Functional Programming with Overloading and Higher-Order Polymorphism, by Mark P Jones (http://web.cecs.pdx.edu/~mpj/pubs/springschool.html), Advanced School of Functional Programming, 1995.  See the Examples.hs file for usage. Version 0.1.6
package AbortT-mtl
package
This module provides instances for the mtl classes for AbortT. Version 1.0
package chp-mtl
package
package control-monad-exception-mtl
package
MTL classes instances for the EMT exceptions monad transformer Version 0.10.3
package control-monad-failure-mtl
package
A class for monads which can fail with an error. Please note: this package is only applicable for the now-deprecated mtl 1. Since mtl 2 is compatible with the transformers package, users of mtl 2 should simply use the control-monad-failure package. Version 0.7.1
package data-accessor-mtl
package
Use Accessor to access state in mtl State monad class Version 0.2.0.3
package exception-mtl
package
This package provides exception monad transformer instances for the classes defined by mtl2. Version 0.3.0.3
package ghc-mtl
package
Provides an mtl compatible version of the GhcT monad-transformer defined in the 'GHC-API' since version 6.10.1. Version 1.0.1.2
package haskelldb-connect-hdbc-catchio-mtl
package
This package includes bracketed HDBC session function using MonadCatchIO-mtl for HaskellDB. Version 0.1.0.0
package hofix-mtl
package
Declares the * -> * isomorphism class and uses it to declare instances for the mtl interface classes for monads defined using 'star-to-star:Data.StarToStar.Fix'. Version 1.0
package iteratee-mtl
package
The Iteratee monad provides strict, safe, and functional I/O. In addition to pure Iteratee processors, file IO and combinator functions are provided. Version 0.5.0.0
package mmtl
package
A modular monad transformer library, (almost) a drop-in replacement for the monad transformer library (mtl). It provides a uniform lifting of operations through any monad transformer. Known differences with mtl: - It provides a uniform lifting of operations for any monad transformer. - It does not provide a RWS monad (but you can build it yourself ;) - The class MonadTrans requires a new member function tmap. - The lifting of callCC through StateT coincides with the lifting in MonadLib, but not with the lifting in mtl. Version 0.1
package mmtl-base
package
Adaptation of Mikhail Vorozhtsov's and Bas van Dijk's transformers-base package to mmtl Version 15321.1
package MonadCatchIO-mtl
package
Provides a monad-transformer version of the Control.Exception.catch function. For this, it defines the MonadCatchIO class, a subset of MonadIO. It defines proper instances for most monad transformers in the mtl library. Version 0.3.0.5
package MonadCatchIO-mtl-foreign
package
Functions like alloca are provided, except not restricted to IO. Version 0.1
package pqueue-mtl
package
Contains several implementations of data structures implementing a single-in, single-out paradigm, and implements monad transformers for their safe use.  The monad transformer part of the library includes tools to fully encapsulate single-threaded use of a priority queue in a monad, including an array-based heap implementation. In general, the purely functional queue types can be ordered in increasing order of speed on generic insertiondeletion operations as follows: Stack, Queue, PQueue, IntQueue, SkewQueue, FQueue, Heap. (PQueue, IntQueue, and SkewQueue are all very nearly the same speed.) Work is in progress on a van Emde Boas or y-fast priority queue implementation, which provides sublogarithmic functionality for all operations. This package is now deprecated.  Use queuelike instead./ Version 1.0.7

Show more results