Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update Japanese translation: description about currying #1602

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 3 additions & 7 deletions site/learn/tutorials/functional_programming.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ end

では、`receiver_fn`の定義を見よう。この関数はまさにクロージャだ。それで、環境から、`chan`への参照を引いている。

## 関数の部分適用とカリー化
## 関数の部分適用

plus関数を定義しよう。2つの整数をたすだけだ。

Expand Down Expand Up @@ -142,11 +142,7 @@ let plus 2 b = (* これはOCamlのコードになってないよ! *)
plus 2 3 : int
```

この過程を**カリー化**(もしかして**アンカリー化**だっ
たっけ?どっちがどっちだかよく知らないんだ)という。Haskell Curry
にちなんで名付けられた。彼は、lambda計算に関する重要な研究をした。OCamlの背景にある数学的なところは、いまはできるだけ避けようと思う。
それについてはじめると、かなり退屈で、役に立たないチュートリアルになってしまうので、これ以上はこの件に踏み込まないことにする。もっとカリー化につ
いて知りたければ、Googleで検索をかけてみてほしい。
この過程を関数の**部分適用**という。

先ほどの、`double`と`multiply`関数を思い出そう。`multiply`はこう定義されていた:

Expand Down Expand Up @@ -190,7 +186,7 @@ let plus = ( + );;
plus 2 3;;
```

カリー化でもっと遊んでみる:
部分適用の例をもっと挙げてみよう:

```ocamltop
List.map (plus 2) [1; 2; 3];;
Expand Down