On Tue, Dec 23, 2003 at 05:26:20PM +0000, Graham Klyne wrote: > Throughout this period, I've been accumulating some notes about some things > that I found challenging along the way. The notes are not organized in any > way, and they're certainly not complete. I've published them on my web > site [1] in case the perspective might be useful to any "old hands" here. > > [1] http://www.ninebynine.org/Software/Learning-Haskell-Notes.html
Thanks, that was a nice reading :) I have some comments: 8. Your explanation of Functor excludes many useful Functors which are rather not collections. For example, every monad (like IO) can be a Functor if you take fmap = Monad.liftM. For [] and Maybe this would give the same operation as in their normal instances. 11 and 18. If you define an instance of Monad for ((->) e) then return (putStrLn "Hello!") 'x' is a proper IO () value. Probably still not sensible ;) Special treatment of 'return' could be helpful, but I am afraid that it could also make it look special, like a return keyword in C. Best regards, Tom -- .signature: Too many levels of symbolic links _______________________________________________ Haskell mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell