I'm having another go at figuring out Monad Transformers, starting at the same point I've started and stopped the last couple of times. That's this tutorial...

http://blog.sigfpe.com/2006/05/grok-haskell-monad-transformers.html

Onion layers, lift etc - I get that. But I've never actually got anything to work - and therefore never built the confidence to move on.

Problem 1 - this is literate Haskell. I've tried feeding it to haddock - all I get is an error about it lacking a main. I don't know what to actually do with this after putting it in a *.lhs file.

No big deal, but...

Problem 2 - even cutting the code out, shoving it in a *.hs file, and :loading it into GHCi, I still get a lot of errors.

For the functions test1 and test2, the fixes were explicit type signatures. Easy enough to figure out...

  test1 :: State Int (Int, Int)
  test2 :: State String (String, String)

I guess the basic issue is the same with test3 (and though I haven't tried the others today, probably test5 and test7 too). The trouble there is that I don't know what those type signatures should be because I don't know that much about monad transformers and how they can work. I can see what's going on in the body of test3, but that is a very small amount of understanding - the type signatures are important. And I can't use :type because GHCi is rejecting the code.


In short... HELP!!!


_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to