我將如何繼續證明這兩個函數的輸入是否正確?我對這個問題有點失落。 let rec reduce f lst u =
match lst with
| [] -> u
| (h::t) -> f h (reduce f t u)
let rec forall2 p l1 l2 =
match (l1,l2) with
| ([],[]) -> t
所以我掀起了一個自定義錯誤monad,我想知道如何去證明它的一些monad法則。如果有人願意花時間幫助我,那將是非常感謝。謝謝! 這裏是我的代碼: data Error a = Ok a | Error String
instance Monad Error where
return = Ok
(>>=) = bindError
instance Show a => S