「カリー化」の版間の差分
削除された内容 追加された内容
m編集の要約なし |
m 圏論での説明にデカルト閉である必要ない |
||
8行目:
カリー化とは直感的には、「関数の複数引数を、1引数ずつ順に、バラバラにする」ということである。たとえば、除算の関数 <math>{\rm div}(x, y) = \frac{x}{y}</math> をカリー化したものを <math>{\rm cdiv}</math> とすると、<math>{\rm cdiv} </math> はxのみを引数に取る。そして <math>{\rm inv}={\rm cdiv}(1)</math> とすると、<math>{\rm inv}</math> はyのみを引数に取る新しい関数となり、<math>{\rm inv}(y) = \frac{1}{y}</math>、つまり引数の逆数を返す関数になる。
[[理論計算機科学]]の分野では、カリー化を利用すると、複数の引数をとる関数を、一つの引数のみを取る複数の関数の[[ラムダ計算]]などの単純な理論的モデルと見なして研究できるようになる。[[圏論]]では、カリー化の概念を
カリー化をする現実の動機の1つに、カリー化することで後述する[[部分適用]]が行いやすくなることが挙げられる。たとえば、加算を行う関数 <code>(+)</code> をカリー化してから、最初の引数だけに <code>1</code> を適用すれば、インクリメント用の関数が簡単に作れる。
|