[Haskell-cafe] [Maybe Int] sans Nothings

Alexander Solla alex.solla at gmail.com
Mon May 23 19:49:55 CEST 2011


On Mon, May 23, 2011 at 9:20 AM, michael rice <nowgate at yahoo.com> wrote:

> What's the best way to end up with a list composed of only the Just values,
> no Nothings?
>
> Michael
>
> ==========================
>
> import Control.Monad.State
> import Data.Maybe
>
>
> type GeneratorState = State Int
>
> tick :: GeneratorState (Maybe Int)
> tick = do n <- get
>           if ((n `mod` 7) == 0)
>             then
>               return Nothing
>             else do
>               put (n+1)
>               return (Just n)
>
> {-
> *Main> evalState (sequence $ replicate 9 tick) 1
> [Just 1,Just 2,Just 3,Just 4,Just 5,Just 6,Nothing,Nothing,Nothing]
> -}
>
>
There's a library function for it, but also:

> filter ((/=) Nothing)

is readable enough.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20110523/56c6b06e/attachment.htm>


More information about the Haskell-Cafe mailing list