Simple Cat (revisitied)

\begin{code}

import IO

findM f [] = return Nothing
findM f (x:xs) = do { v <- x; if f v then return (Just v) else findM f xs }

isLeft (Left _) = True
isLeft _ = False

main = findM (isLeft) (hCat stdin) where hCat h = try (hGetLine h) : hCat h

\end{code}

This is my answer for the question of my own,

which is posted a couple

There are mapM, filterM in the Haskell 98 Standard Library.

But why no findM there ?

As you can see from simple cat, it seems quite useful.

I think fildM should be added to the module Monad.

-- 
Ahn Ki-yung


_______________________________________________
Haskell mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell

Reply via email to