在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-09 並且有習題和測試可以讓大家練習。...
在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-24 並且有測試可以讓大家練習。 Array A...
從重複辨識找到第一個正式定律 繼續 昨天 的定律推敲,首先來想一下如何辨識 0 到 n 次的字元 'a', def many[A](p: Parser[A]):...
想像一下你想要使用 List 來做一系列的資料操作, scala> List(1, 2, 3, 4).map(_ + 10).filter(_ % 2 =...
剛學js的時候,常常會看到自己難以理解的東西,比如說這個: function add(a) { return function (b) { retu...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-05 並且有習題和測試可以讓大家練習。...
在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-22 並且有測試可以讓大家練習。 Apply 使...
讓我們繼續從之前的程式中抽象出更高層的東西吧!今天要講的介面是 Functor。 Functors - map 的抽象介面 從 Day 3 開始,每個主題下的...
更多的練習 Exercise D13-1 用 RNG.nextInt 來產生非負的隨機數,範圍介於 0 <= r <= Int.maxValue。...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-16 並且有習題和測試可以讓大家練習。...
對最初的 rollDie function 有什麼影響 延續 昨天 最後設計的產生非負數且小於特定值的隨機數 nonNegativeLessThanViaFla...
終於來到一個跟 FP 的核心概念有關的特性了,首先我們需要知道 Haskell 是具有 First-class function 這個特性,意思是指 func...
[Should I use fp-ts?] Day 25 - fp-ts Array 在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts...
Monad Law 畢竟 monad 是來自於數學上的概念,所以就算某個type 實作了 Monad 的 instance ,嚴格定義上我們也不能說它是 m...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-10 並且有習題和測試可以讓大家練習。...
今天要介紹一個功能沒有 Monad 這麼強,但比較泛用的抽象介面,Applicative Functors, 在 Day 26 - Monads (1) 中,我...
newtype 大概在之前的 monoid 的時候有提到過這個語法。 getProduct $ Product 1 `mappend` Product 2 `...
在本系列文中,所有的程式碼都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-20 並且有測試可以讓大家練習。 Either...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-14 並且有習題和測試可以讓大家練習。...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-13 並且有習題和測試可以讓大家練習。...
LazyList 細部處理拆解 講進階用法之前,先來看一下 LazyList 是怎麼處理 LazyList(1, 2, 3, 4).map(_ + 10).fi...
Filter filter 是傳入一個會回傳 Bool 的 function 及 List,然後將 List 中每個元素丟進去 function 最後回傳所有執...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-19 並且有測試可以讓大家練習。 Eit...
State Monad 可能有讀者看到 state monad 這個名字時可能會想,Haskell 這樣的語言允許我們擁有 state 這種感覺應該是 muta...
持續精煉我們的核心 API 讓我們開始實作其他核心 API 吧!以下為完整程式: import java.util.concurrent.* object P...
Applicative Fuctor 定律 為求說明,以下回顧 Applicative Functor 的方法宣告會將所有參數完整呈現,故會與 Day 28...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-18 並且有測試可以讓大家練習。 Eit...
再談 Applicative 先看一下昨天最後的範例 import Control.Applicative let foo = fmap (*) [1..5...
在本系列文中,所有的程式碼以及測試都可以在 should-i-use-fp-ts 找到,今日的範例放在 src/day-17 並且有習題和測試可以讓大家練習。...
今天要來介紹一個在 FP 中相當常見的特性 lazy evaluation (惰性求值) ,簡單來說就是當需要值的時候才會真正把值計算出來。 lazy eval...