前回
別の方法を考えた。
# 加算4 let add4(x, y) = pr(y, s).x; # 乗算 let mul(x, y) = pr(o, pr(y, s)).x;
なんだ~let
で定義する関数?に、引数設定できるんじゃん。
ちなみに今回作った加算と乗算は、第一引数x
なら外から渡せる。
cpl> simp mul(pi1, s.s.s.o).pair(s.s.o, 1)
s.s.s.s.s.s.o
この加算と乗算の作り方は、結構オリジナリティ溢れるのではないだろうか。
add3
もadd4
も、第一引数のo
を第二引数に置換する事に違いはない。
add3
はpair
から引数を取り出すために、cur
を使っている、という事か。