作爲後續this question關於K combinator的實施,我想實現所謂R combinator代表primitive recursion原始遞歸組合子: R a b zero = a
R a b (successor c) = b c (R a b c)
其中successor是successor function 。 R的類型簽名是 A → ((ℕ → (A → A)) → (
我的目標是創建一個自定義映射函數,首先需要過濾列表以保留,例如,在調用每個項目上提供的函數之前,只有偶數項目。我確實需要將curried函數和第一個參數作爲函數,而不是列表。我相信簽名看起來是這樣的:(a -> b) -> [a] -> [b] 當然有很多方法可以做到這一點。這是我第一次嘗試的樣子。 var isEven = x => x % 2 === 0;
var filterEvensM
考慮下面的哈斯克爾定義,從this excellent Haskell video on YouTube採取: import Data.List
greeting = "Hello"
swedish = intersperse 'f'
very f x = f (f (f x))
如果我們將其加載到GHCI,我們看到了以下結果: ghci> swedish greeting
"Hfef