Monad和Monoid的定義
根據這篇文章觸發的靈感,寫了兩篇定義性文章:
一般網上談到這兩個概念,總是以Haskell或Scala為案例,由於對具體程式碼的熟悉程度不同,致使人們理解一個複雜概念的同時又引入新的陌生概念,個人認為這不是一種好的學習或分享方式,因此在這兩篇中儘量如何本文樓上的原作者一樣,試圖把看似高深的範疇論用簡單的大白話解釋一下,範疇其實就是一個集合,只不過對這個集合有一些約束定義,如果熟悉業務建模的人可能對這種思維方式不陌生,經常我們會對抽象的事物進行定義,數學上基本就是用集合概念,實際上從羅素悖論拯救了數學開始,數學離不開集合,對於一個國家社會,個人與社會也是不同的概念,社會是一個集合概念,從集合角度考慮問題和從個人元素角度考慮問題是兩種截然不同的思路,如果你平時注重這種區別,你可能會有兩種人生觀。祝你腦洞大開。
[該貼被banq於2014-11-29 18:57修改過]
相關文章
- Java的Monad和懶賦值Java賦值
- 方法的作用和定義
- JavaScript的MonadJavaScript
- SMART原則的定義和含義
- Git分支的定義和操作Git
- 變數的定義和使用變數
- define巨集定義和const常量定義之間的區別
- 概率的公理化定義和資訊量定義公式推導公式
- promise is a monad?Promise
- Haskell Monoid(么半群)的介紹HaskellMono
- c 語言中巨集定義和定義全域性變數的區別變數
- vue 常量定義和使用Vue
- ESLint和元件定義EsLint元件
- 指標的申明和定義指標
- sqlplus中define定義的常量和variable定義的變數的區別!SQL變數
- Typescript版圖解Functor , Applicative 和 MonadTypeScript圖解APP
- Shell中函式的定義和使用函式
- 介面卡 和 策略模式的定義模式
- Java方法02:方法的定義和呼叫Java
- 103-字串的定義和操作字串
- 圖解 Monad圖解
- COM、COM+和DCOM的定義和區別
- 介面的定義和實現
- 如何定義和建立架構架構
- 瀑布和迭代可混合:敏捷定義者Martin Fowler定義瀑布法敏捷
- 版本、變體和其他的基礎定義
- Haskell學習-monadHaskell
- Promise是Monad嗎?Promise
- 談談我對Monad的理解
- 面向1-類和物件-方法、new的定義和使用物件
- 程式的定義
- 《Haskell趣學指南》筆記之 MonoidHaskell筆記Mono
- GPU伺服器定義和理解GPU伺服器
- 4.1 定義和應用樣式
- c+++變數宣告和定義C++變數
- 工作流術語和定義
- UVM transaction 定義 方法和用法(未完)
- LR中用到的吞吐量的定義和理解