Lisp は学術界で非常に早い段階で一連の興味深い言語機能を開発しましたが、それらのほとんどは本番環境で普及することはありませんでした。
JavaScript などの一部の言語は、ガベージ コレクションやレキシカル クロージャーなどの基本的な機能を採用しましたが、強力なマクロ、データとしてのコード、カスタム制御構造など、大規模なプログラムの作成方法を実際に変更する可能性のあるすべてのものは、他の関数型言語内に広まっているようですが、重要なプロジェクトに使用するのに実用的な言語はありません。
関数型プログラミング コミュニティは、参照透過性、一般化されたケース式 (つまり、パターン マッチング、C/C# スイッチのように不自由ではない)、カリー化された関数など、(関数型プログラミング自体とは別に) 他にも多くの興味深いアイデアを思いつきました。通常のプログラミングでは明らかに有用であり、既存のプログラミングの実践と簡単に統合できるように思われますが、何らかの理由で、学問の世界で永遠に立ち往生しているようです.
なぜこれらの機能が採用されるのにこれほど苦労するのでしょうか? 「ファーストクラス関数」を中途半端にコピーするのではなく、Lisp から実際に学ぶ現代的で実用的な言語はありますか?それとも、これを不可能にする固有の競合があるのでしょうか?