monad transformer library
Wed, 04 Jun 2003 13:15:37 -0700
Iavor Diatchki wrote:
>> Use of type synonyms, like
>> type Reader r = R.ReaderT r Identity
>> is more economical, but will lead to more complex error messages.
> this is a good point and i will change that, unless anyone objects?
i am having 2nd thoughts about that. using newtypes will require an
alwful lot of "fake" instances making the libarary about 2 times bigger.
i tried to make a few errors and the error messages did not seem much
worse with the "type" -- what happens is that "missing instances" are
reported for the Identity monad, rather than the "Reader" monad.
this seems reasonable as methods usually just search for the first layer
that implements a given "feature", until they hit the "base case". using
newtype changes the base case from Identity to Reader, which in some
case i think is perhaps more confusing. any thoughts?