| 程式人 | 林信良 | 程式學習 | 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