関数型言語と論理の大事なメンタルモデル

$`f`$ のフルカリー化を $`f^\wedge`$ として次が意味的には同じであること。

  • $`f(a_1, \cdots, a_n)`$
  • $`f^\wedge(a_1) \cdots (a_n)`$
  • $`(\cdots(f^\wedge\triangleleft a_1) \cdots )\triangleleft a_n`$
  • $`f^\wedge\: a_1\: \cdots\: a_n`$

これをストリング図と共にメンタルに刻み込むこと。実際には、$`f`$ と $`f^\wedge`$ 、その他の中間のカリー化もオーバーロード、同一視されることが重要。