LLバトスレからコピペ

 82 名前: デフォルトの名無しさん Mail: sage 投稿日: 2012/03/09(金) 12:07:14.32
 実用期を迎えた関数プログラミング 参加レポート
 ttp://sea.jp/?p=937

 > つまり、関数プログラミングを快適に実践するには、関数を変数に格納できるという程度では不十分だということです。
 > 関数プログラミングを支援する言語機能として、以下のようなものが紹介されました。
 >
 > ・関数を変数に格納でき、さらに無名でも定義できること
 > ・関数内部が静的なスコープを持つこと
 > ・関数の引数の一部だけを変数にバインドした別関数を返す部分適用を簡単に利n用できること
 > ・変数は上書きしない。配列、リストの中身も書き換えない
 >
 > これらの機能は、関数を頻繁に定義し、それをいろいろな場所に渡して使用する以上ないと困るし、
 > 変数が上書きされたり副作用があると関数を組み合わせて使用することが難しくなるのだろう、と私は理解しました。
 >
 > 個々の要素、例えば高階関数や部分適用などのみに注目して他言語、JavaScriptやRubyなどを見ていけば、
 > これらの機能を備えた命令型言語はたくさんあると思います。
 >
 > 実際、関数を使ったプログラミングもできると思うのですが、やはり型や変数の取り扱い、
 > 副作用をどのように扱うか、スコープや値の評価方法など、関数型言語としてデザインされた言語でなければ、
 > 関数プログラマーの方々がおっしゃるレベルの関数プログラミングは実現できないのだろうと感じました。