data - monads learn you a haskell
Haskell-¿Para qué sirve Control.Aplicativo.Alternativo? (2)
Estaba mirando la clase de Applicative
dentro de las bibliotecas de Haskell y tropecé con Alternative
.
¿Para qué sirve esta clase? Una búsqueda en google no reveló nada particularmente perspicaz. Y parece estar completamente fuera de lugar, agrupado como está con el paquete del Aplicativo.
¿Podría alguien publicar un posible escenario en el que usarías esta clase?
A veces el operador <|>
es bastante útil:
foldl1 (<|>) [Nothing, Just 5, Just 3]
-- Just 5
Se utiliza comúnmente con combinadores de analizador. Por ejemplo, si el space
es un combinador de analizador que coincide con un solo carácter de espacio en blanco, many space
sería uno que coincidiría con espacios en blanco consecutivos.
Estoy de acuerdo en que está un poco fuera de lugar en Control.Applicative
, sin embargo.