| 程式人 | 林信良 | 程式學習 | Haskell | Monad
Haskell裡的不純粹
接觸純函數式的開發者,往往著重在如何撰寫純函式,然而若想以純函數式思考來解決現實的需求,對純函數式中非純粹部份的熟悉與掌控,絕對是必要的一環
2022-03-31
| Monoid | reduce | Haskell | 程式人 | 林信良 | 程式學習
從reduce認識Monoid
reduce的來源元素,需要有Monoid規範的結合律與恆等值,Monoid更接近純粹數學上的概念,是為了讓程式有更多的組合性
2022-03-24
| 程式人 | 林信良 | 程式學習 | Haskell | 型態類別 | 型態 | type
掌握Haskell型態類別
別從抽象的函式宣告理解Haskell型態類別!Haskell的型態類別並不是物件導向語言中的類別,也不是Java的interface或其他語言的類似物,它是觀察既有函式的重複、抽取重複後的行為規範!
2022-03-08
| 程式人 | 林信良 | 程式學習 | Haskell | 代數
從Haskell看代數資料型態
在Java領域,可能不知道「代數資料型態」這名詞,若從其他角度來認識record與sealed類別,多半也能掌握其應用方式;然而,如果可以的話,建議直接從Haskell認識代數資料型態的定義與應用
2022-03-02
| Haskell | GHC | 編譯器
Glasgow Haskell編譯器 9.0.1開始支援線性類型
最新GHC 9.0.1版本將加入線性類型語言擴充套件,支援開發者使用線性函數語法
2021-01-05
| 臉書 | Haskell | 重構
臉書開源Haskell重構工具Retrie
Retrie使用Haskell語法方程式來尋找相符字串,不只較正規表示式強大,也比抽象語法樹工具還快
2020-07-08
| 程式人 | 林信良 | Haskell | IO Monad
非純粹的界線:IO Monad
思考、區分程式中,有哪些純粹與非純粹的元素
2015-03-20
| 林信良 | 程式人 | 程式設計 | Haskell | 多型 | Polymorphism
思考Haskell的多型
在學習與深入程式語言的過程中,我們難免過於注重語法規則,而從多種角度來檢視與應用時,也等於讓我們有機會重新思考語法的意義
2015-01-16
| 林信良 | 函數式程式設計 | Haskell
就來談談Haskell
主流程式語言已逐步出現函數式程式設計的要素,若從真正的函數式語言來看,全貌又是什麼呢?
2014-12-12