19:19
例えば、
let x = [1,2] let f = foldl (+) 0
という状況で、
f $ x ($) f x ($ x) f
この 3 つの式は全て同じ答えを返す。分からないのは 3 つ目の式。なんで上 2 つと同じように評価されるのか。いまいちピンとこない。
n2008/08/08 16:39($)とか(f $)とか($ x)は、二項演算子のセクションという記法(つまり構文)です。($) ≡ λf.λx. f $ x(f $) ≡ λx. f $ x($ x) ≡ λf. f $ x
taloo2008/08/11 09:40なるほど中置演算子は、右辺左辺の両方に部分適用できるんですね。(/ 2) 1 = 1 / 2 = 0.5(1 /) 2 = 1 / 2 = 0.5こんな感じですか。
($) ≡ λf.λx. f $ x
(f $) ≡ λx. f $ x
($ x) ≡ λf. f $ x
(/ 2) 1 = 1 / 2 = 0.5
(1 /) 2 = 1 / 2 = 0.5
こんな感じですか。