[Haskell-fr] Éclaircissements sur les monades

Gautier DI FOLCO gautier.difolco at gmail.com
Thu Mar 27 09:08:56 UTC 2014


Le 27 mars 2014 01:37, Valentin Robert <valentin.robert.42 at gmail.com> a
écrit :

> Non je ne dirais pas ça.
>
> L'idée générale est "comment peut-on appliquer fonctions en tenant compte
> d'un certain contexte ?".
>
> Une solution (fournie par Functor) est d'appliquer une fonction pure de
> tout contexte (a -> b) directement sur un contexte en entrée (c a) :
> c a -> (a -> b) -> c b
> Dans ce cas, la structure du contexte de sortie est uniquement dépendante
> de la structure du contexte de l'entrée, jamais de la fonction.
>
> Une solution (fournie par Applicative) est d'appliquer une fonction pure
> placée dans un contexte (c (a -> b)) sur l'entrée :
> c a -> c (a -> b) -> c b
> Dans ce cas, la structure du contexte de sortie est déterminée par le
> contexte de l'entrée et le contexte de la fonction, mais toujours pas par
> la fonction.
>
> Une solution (fournie par Monad) est d'appliquer une fonciton (a -> c b)
> qui produit, pour la valeur placée dans le contexte de l'entrée (le a), une
> autre valeur dans un autre contexte (le (c b)) :
> c a -> (a -> c b) -> c b
> Dans ce cas, la structure du contexte de sortie peut être influencé par la
> fonction, qui peut dépendre de la valeur dans le contexte d'entrée.
>
>
>
> Je n'utiliserai pas le vocabulaire read/write/drop/create car je ne pense
> pas que ça aidera à éclaircir les idées. Tout comme je n'utiliserai pas
> d'analogie, car elles marchent souvent bien pour un exemple et très mal
> pour un autre. Parler de contexte est déjà à la limite du douteux pour
> certaines monades...
>
> Si cela n'est pas très clair, ne te tracasse pas trop, et essaie de lire
> ou écrire quelques programmes applicatifs et monadiques pour certaines
> monades, puis de lire ou écrire quelques programmes pour des monades
> génériques, et tu finiras par discerner les motifs sous-jacents.
>
> - Valentin
>
>
C'est un peu plus claire, merci.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-fr/attachments/20140327/4ddf3650/attachment.html>


More information about the Haskell-fr mailing list