私は主に関数型プログラミング言語について話している。たとえば、地図に関するウィキペディアの記事には、Haskell風の言語でこの例があります。
map square [1,2,3,4,5]
square
パーサー/コンパイラーは、関数自体を呼び出そうとせずに、関数をmap
高階関数として渡したいことをどのように認識しますか?静的型付けを使用する言語の場合、式square [1,2,3,4,5]
は明らかにコンパイルされませんが、コンパイラーは実際にそれを使用して、それが私が意図したものではないと判断しますか?
または、これはウィキペディアの悪い例であり、より良い例はmap &square [1,2,3,4,5]
(Cスタイルの関数参照を使用して)次のようになりますか?