On Feb 27, 2010, at 04:07 , zaxis wrote:

xxxMain = do
   timeout <- getEnv "xxx_TIMEOUT"
   case timeout of
       Just str | [(t, _)] <- reads str -> do
           addTimeout t (hPutStrLn stderr "*** TIMEOUT" >> _exit 1)
           return ()
       _ -> return ()
.......

What does the `|` mean in "Just str | [(t, _)] <- reads str" ?
Is it a logical `or` ?

It's a guard. Same as with function definitions (in fact, function definitions of that form are converted to case expressions).

--
brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allb...@kf8nh.com
system administrator [openafs,heimdal,too many hats] allb...@ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH


Attachment: PGP.sig
Description: This is a digitally signed message part

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

Reply via email to