He tropezado recientemente sobre el genérica Control.Applicative.optional
combinador:ejemplo no analizador de `Control.Applicative.optional`
optional :: Alternative f => f a -> f (Maybe a)
optional v = Just <$> v <|> pure Nothing
pero no hacen mucho uso práctico para que combinador; p.ej. cuando se aplica a palabras funcionales puros, tales como listas o Maybe
, los resultados no parecen muy útiles:
> optional [1,2,3]
[Just 1,Just 2,Just 3,Nothing]
> optional Nothing
Just Nothing
> optional (Just 1)
Just (Just 1)
... lo que serían las aplicaciones más sensibles de optional
?
Bueno, los analizadores vienen a la mente :) –
Hubo una larga discusión en el Café recientemente sobre 'algunos' y' muchos' que tienen los mismos casos de uso que 'opcional', es decir, analizadores y" cosas que pueden fallar ". .. http://www.haskell.org/pipermail/haskell-cafe/2011-December/097476.html –