Un simple exemple pour l'utilisation d' const
est Data.Functor.(<$)
. Avec cette fonction, vous pouvez dire: j'ai ici un foncteur avec quelque chose d'ennuyeux, mais au lieu de cela je veux avoir qu'autre chose intéressante dans ce, sans changer la forme du foncteur. E. g.
import Data.Functor
42 <$ Just "boring"
--> Just 42
42 <$ Nothing
--> Nothing
"cool" <$ ["nonsense","stupid","uninteresting"]
--> ["cool","cool","cool"]
La définition est la suivante:
(<$) :: a -> f b -> f a
(<$) = fmap . const
ou écrit pas comme inutile:
cool <$ uncool = fmap (const cool) uncool
Vous voyez comment const
est utilisé ici pour "oublier" à propos de l'entrée.