monad library

Iavor Diatchki
Fri, 25 Jul 2003 00:40:22 +0200

i was wondering what people think about the following two issues with 
the monad library:
1. there are the map* functions for different transformers (mapReader, 
mapWriter, etc.). does anyone use them for anything?  while there is 
something common between them, i am not quite sure exactly what it is.
if anyone is using them i would be interested if the same can be 
achieved by just using the "standard" functionality for the appropriate 
transformer.  i am inclined to remove them from the library, if there 
are no objections.
2. currently the monad library is under Unstable.Control.Monad, and i 
would like to move it to some other place, so that we can use it, 
without the need to later rename everything. the core of it should be 
more or less stable. since moving libraries at the moment is quite work 
intensive, it would be nice if we agreed on where to put it, so that we 
don't have to move it again.  i propose that we put all the monads under
Monad, thus one would import Monad.State, Monad.ReaderT, or 
Monad.Transformers.  in this way  the old monad library can stay under 
Control.Monad and programs that are using it need not change.  at some 
point in the future we can decide to remove the old library or it can 
just stay there.  and i like the shorter names (not to mention that it 
is not clear what some of the monads have to do with control).

any comments?


| Iavor S. Diatchki, Ph.D. student               |
| Department of Computer Science and Engineering |
| School of OGI at OHSU                          |
|               |