> And now, if I want to lift "putStrLn" I must write:
> 
> myPutStrLn = lift . lift . ... lift . putStrLn
> 
> This works but looks ugly. 

> Another problem is when some of the monad transformers provide the same 
> functions, for example, if MTi also provides "putStrLn", How could I tell 
> the system to select the first "putStrLn" found, or the last?

another case where the proposed overloading of identifiers would help:
you just write putStrLn = lift . putStrLn, 
and let the compiler figure out which one to use.
(so you don't need myPutStrLn at all.)

-- 
Dr Johannes Waldmann      Institut fur Informatik    Universitat Leipzig   
[EMAIL PROTECTED] http://www.informatik.uni-leipzig.de/~joe/
PF 920,  D-04009  Leipzig,  Germany   Tel/Fax (+49) 341 97 32204 / 32209



Reply via email to