...萌萌、zhouyao JavaScript 輕量級(jí)函數(shù)式編程 附錄 B: 謙虛的 Monad 首先,我坦白:在開始寫以下內(nèi)容之前我并不太了解 Monad 是什么。我為了確認(rèn)一些事情而犯了很多錯(cuò)誤。如果你不相信我,去看看 這本書 Git 倉(cāng)庫(kù) 中關(guān)于本章的提交...
....li/2017/03/27/prom... 背景 上篇文章 函數(shù)式JS: 一種continuation monad推導(dǎo) 得到了一個(gè)類似promise的鏈?zhǔn)秸{(diào)用,引發(fā)了這樣的思考:難道promise是monad?如果是的話又是怎樣的monad呢?來(lái)來(lái)來(lái),哥哥帶你推倒,哦,不,是推導(dǎo)一下! Monad Monad...
大多數(shù)關(guān)于monad的教程都和老太太的裹腳布一樣,又臭、又長(zhǎng),說(shuō)不清、道不明。當(dāng)然我也不偉大,沒法保證我寫的一定更明了,更生動(dòng),甚至更屌?不過(guò)我至少可以確定,我這篇更簡(jiǎn)潔。浪費(fèi)不了你多少時(shí)間的! 廢話不多...
Monad 這個(gè)概念好難解釋, 你可以理解為一個(gè) Lazy 或者是狀態(tài)未知的盒子. 聽起來(lái)像是薛定諤貓(估計(jì)點(diǎn)進(jìn)去你會(huì)更暈了). 其實(shí)就是的, 在你打開這個(gè)盒子之前, 你是不知道里面的貓?zhí)幵谀欠N狀態(tài). Monad 這個(gè)黑盒子, 里面到底賣的神...
...f(f).op(a.of(x)) === a.of(f(x)); u.ap(a.of(y)) === a.of(f => f(y)).ap(u); Monad Monad是一種特殊的Functor,可以Flat(鋪平)map的結(jié)果。 function Nothing() { } Nothing.prototype.map=function () { return this; } c...
...> console.log(rigth, v), (v) => console.log(def, v), rigth) // rigth 2 Monad 函子 函子會(huì)發(fā)生嵌套, 比如下面這樣: Functor.of(Functor.of(1)) // Functor { value: Functor { value: 1 } } Monad 函子 對(duì)外暴露了 join 和 flatmap 接...
... -> Array(A) -> Array(B) filter :: (A -> Boolean) -> Array(A) -> Array(A) Monad 普通functor的問(wèn)題 我們來(lái)寫一個(gè)函數(shù) cat,這個(gè)函數(shù)的作用和 Linux 命令行下的 cat 一樣,讀取一個(gè)文件,然后打出這個(gè)文件的內(nèi)容 import fs from fs; import _ from lodash; v...
...畢竟在Rxjs中常使用的也就是Observable這一個(gè)容器類。 3.3 Monad登場(chǎng) 當(dāng)我們看到問(wèn)題所在后就不難發(fā)現(xiàn),其實(shí)這個(gè)問(wèn)題的解決方法并不復(fù)雜,我們要做的不過(guò)就是在必要的時(shí)候合并內(nèi)容的容器,為此來(lái)定義兩個(gè)合并運(yùn)算的方法: //...
...。 函數(shù)的參數(shù)個(gè)數(shù)被稱為函數(shù)的valence, 最常見的函數(shù)是monadic(valence 1)和dyadic(valence 2)。 一個(gè)niladic函數(shù)是指一個(gè)沒有輸入的函數(shù),表示如下: f:{[] … } 例子如下: q){[] 42} / pure function returns constant 42 42 q){[] a*a} / impure function: refe...
...pull數(shù)據(jù),如果是從內(nèi)存中直接pull,這個(gè)在fp里叫做state monad;如果是異步pull數(shù)據(jù),包括文件、數(shù)據(jù)庫(kù)、其他api,這個(gè)叫io monad。 OO的本質(zhì)站在fp的角度看是如何維護(hù)state monad,如果程序中有stateful的部分,或多或少都會(huì)有,用oo建...
...念,函數(shù)柯里化和函數(shù)的組合;2. 容器和 Functor,Maybe,Monad,Either 以及 IO由淺及深,一個(gè)個(gè)地做了介紹,非常不錯(cuò)的入門文章。 「所謂的純函數(shù)就是,對(duì)于相同的輸入,永遠(yuǎn)會(huì)得到相同的輸出,而且沒有任何可觀察的副作用...
...理null問(wèn)題)2.Either(if…else)3.IO(IO、網(wǎng)絡(luò)請(qǐng)求、DOM)4.Monad(嵌套問(wèn)題) Maybe 一種用來(lái)處理null和undefined問(wèn)題的函子,避免繁瑣的手動(dòng)判空操作 Either 一種用來(lái)處理if…else問(wèn)題的函子 IO 通過(guò)返回一個(gè)獲取數(shù)據(jù)的函數(shù)來(lái)延遲IO的...
ChatGPT和Sora等AI大模型應(yīng)用,將AI大模型和算力需求的熱度不斷帶上新的臺(tái)階。哪里可以獲得...
大模型的訓(xùn)練用4090是不合適的,但推理(inference/serving)用4090不能說(shuō)合適,...
圖示為GPU性能排行榜,我們可以看到所有GPU的原始相關(guān)性能圖表。同時(shí)根據(jù)訓(xùn)練、推理能力由高到低做了...