10周年のSPコンテンツ!
6
@ka_
ははぁ… カリー化と部分適用 (束縛) は関係ないと… なるほど…
@ka_
純粋なラムダ計算だと,そもそも x,y,z -> V ってのが x -> (v -> (z -> V))) のような.多引数なんて無かった!
対鉱物用武装 @kikairoya
curryingとbind1stを厳密に区別しないといけない理由ってなんかあるの
対鉱物用武装 @kikairoya
というかbind1stはcurryingそのものだと思うんだけど、bindって名前がついてる以上bindなんだよな、じゃあ両者の境界は?
@ka_
λx. λy. λz. V に,部分適用を行う関数はどう書けばいいんだ?
対鉱物用武装 @kikairoya
f = a -> b -> c と f = (a, b) -> c を厳密に区別しないと困る場面ってどんなんだろう、区別したがる人が居るからにはそういう場面があるはずなんだけど実際の問題を見たことが無い .
対鉱物用武装 @kikairoya
@finalfusion よくわからんことをよくわからんって呟いたら喧嘩売ってることになるんですか
対鉱物用武装 @kikairoya
結局「curryingとbindの区別がつかない」人が居るってのは、区別する必要がある場面に出くわしたことないからじゃないのかなあ、とか。(数学理論とかじゃなくて実際のプログラミングの問題で)curryingじゃないと解決できない問題があるんならソレ見せれば一発で分かるようになる
@ka_
えー bind の実装の仕方が分からないクラスタなんですが
対鉱物用武装 @kikairoya
もしもcurryingじゃないと解決できない問題が存在しないなら、(プログラミングの場面においては)curryingをpartial apply (bind)のサブセットとみなしても問題なかろう
@ka_
そもそも λx. λx. x の扱い方忘れた
藤枝和宏 - ぱんなこった@佐鎮 @kfujieda
@kikairoya f=a->b->cのときに引数にb->cを取る関数にf(a)を食わせるとか、関数型の言語だと普通にしません?
対鉱物用武装 @kikairoya
@kfujieda それは別に f = (a, b) -> c の a を部分適用したものを渡しても同じですよね
対鉱物用武装 @kikairoya
@kfujieda んーということは、C++のstd::bindはその名前とは裏腹にcurryingであって、partial applyではないという認識でいいんですかね
対鉱物用武装 @kikairoya
f = (a, b) -> c に a を部分適用した関数はどういう型になるん .
Kota Mizushima (on a diet) @kmizu
http://t.co/2pcLWq0 んー、いや。カリー化!=部分適用、ってのはまず事実としてあるのに、用語の誤用を広めといて、それでいいじゃん、という事に私は賛同しないです。
藤枝和宏 - ぱんなこった@佐鎮 @kfujieda
@kikairoya あ、ごめんなさい。さっきのツイートは僕の勘違い。(a, b)->cにaを部分適用した結果はb->cです。
Kota Mizushima (on a diet) @kmizu
もちろん、部分適用に相当する用語が無かったなら話はわかりますが、そういう用語はあるのだから、それ使えばいいじゃんと思うわけです。この手の話はカリー化に限らず繰り返されてきましたが、カリー化に関しては非常にまぎらわしいので、止めて欲しいなー、というのが本音です。
対鉱物用武装 @kikairoya
んーこのままだとf = (a, b) -> c に対する1段階(こういう言い方するのかな?しない気がする)のcurryingとaの部分適用は同じだ、という認識になってしまうんだけれど
Kota Mizushima (on a diet) @kmizu
用語の誤用に関しては色々スタンスはあると思うのですが、この件では、カリー化=部分適用、という誤解が広まることによって、カリー化という用語の意味が上書きされてしまって、カリー化という用語を(本来の意味で)実質的に使えなくなる事を私は危惧しています。
梶本裕介 @uskz
@kikairoya fをカリー化した上で、さらにaを適用すれば、fの第一引数としてaを部分適用するのと同じことになりますね
対鉱物用武装 @kikairoya
…とここまで喚き散らしたところで、 http://t.co/8eLdMJC を読んでどこに誤解があったのかわかった
残りを読む(222)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?

ログインして広告を非表示にする
ログインして広告を非表示にする