数式処理システム(Matlab、Mathematicaのシンボリックツールボックスなど)での記号計算と関数型プログラミングはどのように関連しているか疑問に思いました。前者は後者に属しますか?
ありがとう、よろしく!
彼らは別の獣です。ただし、重複する1つのポイントは、pure( http://code.google.com/p/pure-lang/)などの用語書き換え言語です。)。Pureは、純粋に関数型プログラミング言語として使用できます。ただし、グラフの縮小ではなく項の書き換えによって実装されるため、その式は常にビットにパターンマッチングして変換することができます。この種の記号操作は、数式処理システムの重要な機能の1つです。とは言うものの、数式処理システムの大きな力は、たくさんの数学が組み込まれていること、特にさまざまなトリッキーな問題を解決するための強力なアルゴリズムが組み込まれていることから生まれます。関数型言語でそれを行うためのライブラリを作成することもできますが(代数的データ型を使用すると、命令型よりも快適になります)、それでもこれらのライブラリを作成する必要があります。
これら 2 つの概念は、必ずしも関連しているわけではありません。しかし、1958 年に John McCarthy によって設計された Lisp プログラミング言語がラムダ計算の影響を受けたという事実は興味深いかもしれません。また、その年、マッカーシーは、非常に単純な記号微分プログラムが提示された記号表現の操作のための代数言語を発表しました (付録 I を参照)。したがって、最初は 2 つの概念が非常に近かったことがわかります。