• # Monad et do

    Posté par (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 3.

    Quand j'ai découvert Haskell, j'ai cru que c’était le plus beau langage du monde. Ce qui est le cas (a part quelques trucs subtiles).

    Puis j'ai compris certains concepts, alors j'ai voulu les appliquer au c++. La première chose que j'ai fais c'est implémenter mon propre Maybe. (qui se nomme std::optional dans c++17 le draft).

    Mais en fait, cela n'a AUCUN intérêt sans la do notation malheureusement puisque cela force a chainer des lambdas. Exemple :

    maybe<float> doSomething(...)
    {
    return doSomethingInt(...).bind([](int ret){
    return doSomethingFloat(ret);
    });
    }