Cookwitter | Quetter | 関東渋滞
にらめったー(NearMetter)とは、気になる2人のTwitterユーザー対談が見られるツイ談(Twi談)サイトです。

Twitterユーザー名

vs

Twitterユーザー名

取得可能 (最終取得時間:2011-09-06 17:26:51)

a_watcherkmizu のツイ談  

a_watcher

@kmizu うーん、関数fの引数をn個として、curry化をn回行えば1引数の関数n個の合成のような形に表現できるけど、普通は私の先の定義で充分でしょう。「ダウト」と宣言するような話ではない。 http://t.co/jSGLdlZ

2011-09-05 08:22:33 - 返信元ツイートを取得する

 

kmizu

@a_watcher いや、やはりダウトです。「curry化=複数引数の関数f(x,y,z)と最初の実引数Xをとり、二番目以降の引数をとる関数f'(y,z)を返す。」これは部分適用ですよね。カリー化を行うにあたって、実引数は関係ないです。

2011-09-05 08:57:44 - 返信元ツイートを取得する

 

a_watcher

@kmizu 「実引数を与えないケース」とは、どの言語や概念上で何を与えるケースでしょうか。(ちなみに先のCurry化定義はWikipediaにも載っている定義で、個人的には問題ないと考えています) RT @a_watc… (cont) http://t.co/f1SjAfS

2011-09-05 09:02:38 - 返信元ツイートを取得する

 

にらめったーはご覧のスポンサード リンクの提供でお送りします

a_watcher

@kmizu また最初の指摘は、「Curry化をn回行った場合」の話であってCurry化そのものの定義とは違いますね。 RT @a_watcher いや、やはりダウトです。「curry化=複数引数の関数f(x,y,z)と… (cont) http://t.co/v7cZ6QI

2011-09-05 09:04:48 - 返信元ツイートを取得する

 

kmizu

@a_watcher うーん。いや、Curry化を1回行った場合でも同じです。2引数関数で具体例を示します。Haskellで言うと、curry化は let curry f = \x -> \y -> f (x, y) こういう関数curryであって

2011-09-05 09:09:02 - 返信元ツイートを取得する

 

kmizu

@a_watcher ここで、curryの仮引数はカリー化されていない関数fのみであって、fに与える実引数は登場していませんよね。

2011-09-05 09:10:17 - 返信元ツイートを取得する

 

a_watcher

@kmizu 私の質問の回答にはなっていませんね。質問を変えます。あなたのお考えになるCurry化の定義をお教え下さい。 @a_watcher いや、やはりダウトです。「curry化=複数引数の関数f(x,y,z)と最初… (cont) http://t.co/dKDgWN9

2011-09-05 09:11:26 - 返信元ツイートを取得する

 

a_watcher

@kmizu それはCurry化された関数の型のお話(=型変数を用いた型計算のお話)であって、Curry化の定義ではないですね。 @a_watcher うーん。いや、Curry化を1回行った場合でも同じです。2引数関数で… (cont) http://t.co/VQaOrX2

2011-09-05 09:14:10 - 返信元ツイートを取得する

 

kmizu

@a_watcher わかりました。とりあえず、「2引数関数の場合」で私の考えるCurry化の定義を答えますね。「ある2引数関数f: (x, y) -> zがあったとき、curry(f)によって、関数f: x -> y - > zが得られる」です。

2011-09-05 09:15:34 - 返信元ツイートを取得する

 

kmizu

@a_watcher 手っ取り早いからHaskellで例を示しただけであって、静的型無し言語でも話は同じです。また、Wikipediaの定義を示されていますが、そこでのカリー化の定義に、fの実引数は登場していませんよね?

2011-09-05 09:19:19 - 返信元ツイートを取得する

 

a_watcher

@kmizu: 混乱の原因は、Curry化の議論に「Curry化された関数の型」の話を持ち出しているからでしょう。後者は型の話なので、実引数の概念が出てこないのは当然ですね。 RT @kmizu: @a_watche… (cont) http://t.co/almjaHK

2011-09-05 09:20:09 - 返信元ツイートを取得する

 

a_watcher

@kmizu: Curry化の第二引数に未束縛変数が来るケースを想定しているのですか?wそれはどのように評価するおつもりでしょう?遅延評価? RT @a_watcher 手っ取り早いからHaskellで例を示しただけであ… (cont) http://t.co/FIasGlN

2011-09-05 09:26:05 - 返信元ツイートを取得する

 

kmizu

@a_watcher おっしゃっている事の意味が本当にわかりません。先のHaskellの例は、カリー化関数curryのHaskellにおける(一つの)実装であって、それ以外の何者でもありません。で、curry(f)した時点では実引数は「一切」評価されません、というかありません。

2011-09-05 09:30:31 - 返信元ツイートを取得する

 

kmizu

@a_watcher いえ。「Curry化された関数の型」の話でも、実引数XがCurry化という操作の中で登場してくるなら、その実引数に対応する「型」がcurry関数の引数の型として登場しなければおかしいのです。

2011-09-05 09:34:28 - 返信元ツイートを取得する

 

a_watcher

@kmizu: なるほど。先の http://t.co/HYCPN6m は、Haskellにおける「関数のcurry化」に特有のお話をしていると理解しました。ところで数学におけるCurry化の定義はソレでよろしいんでし… (cont) http://t.co/ULDzdeT

2011-09-05 09:35:44 - 返信元ツイートを取得する

 

kmizu

@a_watcher 数学におけるCurry化の定義、はWikipediaの「カリー化」のどの部分を指していっておられますか?"

2011-09-05 10:00:44 - 返信元ツイートを取得する

 

kmizu

@a_watcher "f( a, b ) = c という関数 f があるときに、F( a ) = g ただし、g( b ) = c という関数 g が得られる関数 F を定義した場合、F は、f をカリー化したものである。"の部分なら、私の認識と相違ありません。

2011-09-05 10:01:06 - 返信元ツイートを取得する

 

kmizu

@a_watcher それで、先ほどのHaskellの例はそのcurry化の定義にしたがうようにそのまま実装しただけで、Haskell特有の何かがあるわけではありません。

2011-09-05 10:04:34 - 返信元ツイートを取得する

 

a_watcher

@kmizu: はい、同意します。(実引数0個のケースは、関数型言語仕様に特有の拡張ではないかという気がします) RT @a_watcher "f( a, b ) = c という関数 f があるときに、F( a ) … (cont) http://t.co/rYe5bd4

2011-09-05 10:08:59 - 返信元ツイートを取得する

 

a_watcher

@kmizu どなたかの表現をお借りすれば、Curry化(Frege:1893)の定義(あるいはその後、共通合意が変わっているならその定義)ではどうなのだろう(実引数0個のCurry化という概念はあるのか)という疑問です。自分もよく知らないので即答いただかなくとも結構です。

2011-09-05 10:24:00 - 返信元ツイートを取得する

 

kmizu

@a_watcher えーと。「実引数0個のCurry化」というので何か違うものを想像されている気がしますが、Frege:1893のオリジナルの文献にすぐ当たることができないので、それについては「わからない」というのが正直な答えです。

2011-09-05 10:58:30 - 返信元ツイートを取得する

 

kmizu

@a_watcher ただ、CSの分野の論文で、curry化という変換が、curry f x = \y -> f(x, y) (in Haskell)のような形で定義されているのは見たことがありません。また、Wikipediaの定義でもそのような事は言っていないですよね?

2011-09-05 11:00:57 - 返信元ツイートを取得する

 

a_watcher

@kmizu 「実引数0個のCurry化」にもご不満ということになると、ちょっと何をおっしゃっているのか見当がつきません。以降の議論は原典で正確な定義をご確認の後にお願いします。ではでは

2011-09-05 12:22:36 - 返信元ツイートを取得する

 

a_watcher

@kmizu [補足] (こちらについては、Haskell等の関数型言語が制定された後の世代の方特有の認識であるように感じます。Wikipediaは基準とはなりませんし、そこに誤解の余地を残すような表現があるならそれはそ… (cont) http://t.co/IEEVDE0

2011-09-05 12:26:11 - 返信元ツイートを取得する

 

kmizu

@a_watcher 「実引数0個のCurry化」と言ったわけではないです。これまでのやり取りから、「実引数0個のCurry化」という言葉に関して @a_watcher さんの意図しているものと、私が想像したものがずれている可能性を危惧したのです。

2011-09-05 12:55:33 - 返信元ツイートを取得する

 

a_watcher

@kmizu: 原典の件はともかく、Wikipedia記述を見直したらご指摘に気付きました orz Togetterの定義を訂正することにします(togetter)。議論におつきあい頂きありがとうございました。 R… (cont) http://t.co/z06VSQD

2011-09-05 12:56:03 - 返信元ツイートを取得する

 

kmizu

@a_watcher ”以降の議論は原典で正確な定義をご確認の後にお願いします。"というのは、Fregeの論文を読め、とおっしゃっていますか?もちろん、読むことはやぶさかではないですが、入手するには時間がかかるものです。逆に聞きたいのですが、

2011-09-05 12:56:40 - 返信元ツイートを取得する

 

kmizu

@a_watcher さんは、原典・原典に近い論文に当たろうとされましたか?たとえば、Google Scholarで「currying」で検索してみる、程度でも構わないです。私は、少なくともある程度原典に近い論文を探した上で言っています。

2011-09-05 12:59:37 - 返信元ツイートを取得する

 

a_watcher

@kmizu: 意図が判りかねるmentionですが、私は今週末位に確保する予定でした。子供の喧嘩のようなお話はmention不要です。 RT @a_watcher ”以降の議論は原典で正確な定義をご確認の後にお願いしま… (cont) http://t.co/sJoHWiO

2011-09-05 13:04:18 - 返信元ツイートを取得する

 

kmizu

@a_watcher 別に喧嘩したいわけじゃないですが、Fregeの論文読む前に色々調べられることはあるだろう、という話です。私は何度も指摘しましたが、そのときに他の論文などをあたられましたか?ということです。

2011-09-05 14:51:06 - 返信元ツイートを取得する

 

a_watcher

@kmizu 議論の目的は、「ダウト」等宣言して相手を遣り込める事ではなく、相互に協力し事実を明らかにし共通認識を新らにする事だとお考えになってはいかがでしょうか。そういった協力的な議論姿勢がない方と言葉を交わしても意味… (cont) http://t.co/bueh601

2011-09-05 16:37:58 - 返信元ツイートを取得する

 

kmizu

@a_watcher 「ダウト」宣言は単純に間違いを指摘しただけで、やり込める事意図はありませんでした。確かに、おっしゃるとおり、真相を追究する議論のときには、そういった協力姿勢は必要でしょう。ただ、今回の件は、少なくとも私にとってそういったタイプの議論ではありませんでした。

2011-09-05 17:44:02 - 返信元ツイートを取得する

 

kmizu

@a_watcher 「ダウト」というのは単に「そこ間違ってるよ」というだけの指摘であって、私にとってはそれ以上の何者でもありませんでした。それが遣り込める事が目的だ、とらえられたのであればその点については謝罪いたします。

2011-09-05 17:46:29 - 返信元ツイートを取得する

 

kmizu

それで、とりあえず誤用をどうすべきかについては見解が分かれたまま議論は一端終了。そこで、まとめへのコメントで、 .@a_watcher さんが、Togetterでの議論で合意が得られつつあったものへの逆方向のコメント投稿。目が「?」状態になった私が「ダウト」宣言。で、以降泥沼。

2011-09-05 18:39:37 - 返信元ツイートを取得する

 

kmizu

何度かやり取りを交わした後、Wikipediaの記事の読み間違いだった、ということを .@a_watcher さんが認め、その訂正をTogetterに追記。これで、議論自体が一応決着。 #currying

2011-09-05 18:41:56 - 返信元ツイートを取得する

 

a_watcher

@kmizu さん事実認識の訂正。「合意と逆方向」でなく、第三者観点でまとめ要約を試みたら、訂正意見が出て確認の上修正です。RT …まとめへのコメントで、…議論で合意が得られつつあったものへの逆方向のコメント投稿。… http://t.co/q8E2GH1 #currying

2011-09-05 20:17:32 - 返信元ツイートを取得する

 

kmizu

@a_watcher 確認なのですが、Togetterの一連の流れを読まれた上で、まとめ要約を試みられたのですよね。あの流れでは、カリー化のよくある誤った定義については、概ね私やその他の方々で合意が取れていたように思います。

2011-09-05 20:24:38 - 返信元ツイートを取得する

 

kmizu

@a_watcher どの辺りでそのような誤解を招くような発言があったか、後学のためにお教えいただけないでしょうか。 #currying

2011-09-05 20:25:11 - 返信元ツイートを取得する

 

a_watcher

@kmizu 私のもともとの主旨はオリジナル意見を述べる事にはなく、長いまとめに簡潔なまとめを付ける試みです。(続く) RT @kmizu: どの辺りでそのような誤解を招くような発言があったか、後学のためにお教えいただけないでしょうか。 #currying

2011-09-05 20:33:44 - 返信元ツイートを取得する

 

a_watcher

@kmizu 私がその近辺を学習した頃はHaskellは存在せず、その後登場したHaskellで部分適用がCurry化で説明される事に起因して誤解が生じている件 http://t.co/byeBjvw も随分前から存じています。(続く) #currying

2011-09-05 20:35:02 - 返信元ツイートを取得する

 

a_watcher

@kmizu Togetter収録議論には私が最初筆をすべらせたような表現は存在しません。従って@kmizuさん http://t.co/q8E2GH1 「議論で合意が得られつつあったものへの逆方向のコメント」は正確には「別の表現」と言うべきです #currying

2011-09-05 20:40:46 - 返信元ツイートを取得する

 

a_watcher

@kmizu 最初の御質問「どの辺りでそのような誤解を招くような発言があったか」については、何年も前に熟知していたつもりの事柄、聞いていた誤解について、(部分適用の可能性に心を奪われつつ)まとめたら筆がすべった、と言う程度のお話とご理解頂けますと幸いです。 #currying

2011-09-05 20:44:37 - 返信元ツイートを取得する

 

kmizu

@a_watcher 了解いたしました。 >聞いていた誤解について、(部分適用の可能性に心を奪われつつ)まとめたら筆がすべった

2011-09-05 20:55:41 - 返信元ツイートを取得する

 

a_watcher

@kmizu といったわけで、この件はこれくらいにして頂けますか。@kmizuさん他の元の議論をTogetterにまとめた方の趣旨は「違いと誤用の周知」にあるはずです。誰かが長い議論を簡潔にまとめ、積み残し課題(言葉の誤用の件)を整理すれば充分でしょう。 #currying

2011-09-05 21:00:30 - 返信元ツイートを取得する

 

kmizu

@a_watcher はい。了解しました。この件についてはこれで終わりとします。

2011-09-05 21:05:23 - 返信元ツイートを取得する

 

にらめったーはご覧のスポンサード リンクの提供でお送りしました

「@だれだれ」をベースに自動生成されております。返信元ツイートを取得するは「上記ツイート」から辿ってください。
Twitter Search APIを通して最新@ユーザーの100件をストリーミング表示しています。

a_watcherkmizu のツイ談コメント一覧

a_watcherkmizu のツイ談を転送する


その他のツイ談