如何解釋 Haskell 中的單子(Monad)?

時間 2021-05-12 00:49:06

1樓:陳斌

自函子的Monoidal範疇上的乙個么半群.么半群是指...大概意思..

原群:這班裡全是小學生,希望揍他們任意有限次後還是小學生.(這在拓撲概念裡可能要求更過分,揍任意無數次必須還是小學生.)

半群:在原群基礎上,小學生排好隊了之後,我希望先揍任意相鄰兩個,結果都一樣.

么半群:在半群基礎上,希望這群小學生裡面有個帶頭大哥,有反甲作用,無論他打你,還是你打他都等於打你自己.

2樓:

乙個碗就是乙個 Monad。你把水倒進碗裡就是 return,把一碗水倒到另乙個碗裡就是 >>=。碗的作用是什麼呢?比方說你要喝水,是不是就得拿個碗。

3樓:馮白羽

Formally, the definition of a monad is like that of a monoid in sets.The set of elements of the monoid is replaced by the endofunctor , while the cartesian product of two sets is replaced by compsites of two functors, the binary operation of multiplication by the transformation and the unit (identity) element by. We shall thus call the unit and the multiplication of the monad ——Categories for the Working Mathematician, Saunders Mac Lane

4樓:

什麼狗屁 Monad, Haskell裡的 Monad 太複雜了點. 沒必要學那麼深. 要理解狀態傳遞, 非同步什麼的, 看看F#, F#裡就叫作計算表示式.

還是這樣叫實在點. 保你能看懂的資料 F Sharp Programming/Computation Expressions

5樓:

我也看了七八篇所謂的 monad 入門,一篇也沒看懂。

不過最易讀的一篇我認為是 http://

zhuoqiang.me/what-is-monad.html

如何解釋material design中,關於卡片的三層投影?

UTL1138 三層陰影為關鍵光投射的本影和半影以及環境光投射的環境陰影。從官方規範中可知三層陰影中的兩層就是原來Key Shadow 關鍵光 進行了細分。所以此前的兩層陰影並不是本影和半影,而只是關鍵光和環境光投射的兩種陰影。Shadows Resources Material Design 天 ...

如何解釋 Lisp 中 call cc 的概念?

簡單點的理解就是在 call cc 出現的地方搞出乙個蟲洞的出口,而蟲洞的入口是 call cc lambda k中出現的 k 通過 k 的形式將.的求值結果傳送到蟲洞出口的位置,k這個蟲洞入口還可以賦值給別的變數.其它的就交給別的答主了 勃珍妮 補充一下 紅日照小池 池哥的回答,因為看不大懂.定義...

萊布尼茲的單子論如何解決身心關係?

花散裡 當我們說一件事情引起了另一件事情的時候,這兩個單子只是如其本質的變化而已,而在這種變化的過程中他們之間產生了一種和諧。就如他在 新體系 中說明的 上帝首先創造了靈魂和其他現實的複合體,通過這樣一種方式所有的事物都必須從自身之中發生變化,並且與其他事物產生完美的聯絡。這一切使得所有的實體之間具...