On Feb 12, 2007, at 11:02 AM, [EMAIL PROTECTED] wrote:

Hello,

the "Advanced Monads" page in the Haskell Wikibook
(http://en.wikibooks.org/wiki/Haskell/Advanced_monads) contains the following
example of a List Monad

pythags = do
        x <- [1..]
        y <- [x..]
        z <- [y..]
        guard (x^2 + y^2 == z^2)
        return (x, y, z)

However, whenever you load that function definition into Hugs or GHCi, you get a
message saying that "guard" is an undefined variable.

Does anyone know why?

Thanks.

phiroc


Add the line


import Control.Monad


to the beginning of your program. The 'guard' function is not automatically in scope.




Rob Dockins

Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
          -- TMBG



_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to