Ho letto un excellent introduction to monads for Clojure programmers. L'articolo illustra che la monade Identity è funzionalmente equivalente a di Clojure let e che la monade Sequence/List equivale a per.Uso per la monade identità in Clojure
Quando l'articolo raggiunge i trasformatori monad, mostra un esempio che combina le monadi Forse e Sequenza. Ok, quindi una ragione per usare una monade Sequence invece di per è che posso trasformarla. Tuttavia, trasformare una monade di identità non ha senso per me - non sarebbe sempre equivalente solo a costruire qualsiasi cosa sia la monade trasformante? Per esempio, se ho trasformato Maybe con Identity - non mi dà solo un Maybe, che sarebbe stato più facile dichiarare direttamente?
Qualcuno può chiarire se ci sia un uso pratico in Clojure per la scelta di una monade di identità nel corso di un diamo (forse non sto pensando tutto il percorso attraverso le implicazioni di trasformatori?), O è solo lì per completezza teorica?