手続きのカリー化?
カリー化についてはよくわかってないけど、srfi-26がやたら便利そうだ。
SRFI 26: Notation for Specializing Parameters without Currying
メモ。
(cut * 2 <>)
とやると、
(lambda (x) (+ 2 x))
になる。
実際使ってみた方が早い。
((cut * 2 <>) 10) ; 20 ((cut * <> <>) 3 4) ; 12 ((cut * <...>) 1 2 3 4 5) ; 120
あぁ〜lambda要らねぇ〜。
素敵過ぎるぞ!!カリー化!!
おぉ解説ページ発見。
- lambdaと引数リストを省略する - Gaucheクックブック
- cuteもあるらしい。
Gaucheの場合
pa$で末尾をカリー化出来るらしい。
gosh> ((pa$ * 2) 10) 20 gosh> ((pa$ * 2) 1 2 3) 12
ほぉぅ。
- Gauche ユーザリファレンス: 6.16 制御
- マニュアル。いっぱいあるみたい。
- Scheme:手続きのcurry化
- 全然読めないorz。
疑問
マテ。<>は順番どうりにしか束縛できないから、xconsは作れないってことかな?
わからん。
妄想
{(a b) (cons b a)}
とか書けたら・・・。