y = f(x)

MLの授業で「let f x = x + 1と定義した関数fの型は?」みたいな質問をしたら、「intです」みたいな答えが。しかも1回だけじゃなく繰り返して。しばらく悩んで、どうもCでint f(int x) { return (x + 1); }みたく書くせいではなかろうか、と思い至る。

そもそも数学でf(x) = x+1とか定義したときに、関数fと、fのxにおける値f(x)を区別できていないのでは、という疑惑も。「微分という演算は関数を受け取って関数を返すので、一種の高階関数です」とか説明したんですが、どれぐらいわかったことやら…