Perspectives on learning and using Haskell

Tomasz Zielonka t.zielonka at students.mimuw.edu.pl
Tue Dec 23 19:37:05 EST 2003


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


More information about the Haskell mailing list