Why no findM ? simple Cat revisited
Ahn Ki-yung
haskell-cafe@haskell.org
Wed, 20 Nov 2002 18:54:33 +0900
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