回答

4

它們是不同的野獸。然而,重疊的一點是術語重寫語言,如純粹的(http://code.google.com/p/pure-lang/)。 Pure可以用作純粹的函數式編程語言。然而,由於它是通過術語重寫而不是圖縮減來實現的,所以它的表達式總是能夠被模式匹配到它們的位並被轉換。這種符號操作是計算機代數系統的關鍵特徵之一。也就是說,計算機代數系統的很大一部分功能來自於大量的數學運算,尤其是具有強大的算法來解決各種棘手的問題。你可以用函數式語言編寫庫來完成它(代數數據類型會使它比命令式更令人愉快),但是你仍然需要編寫這些庫。

1

這兩個概念不一定相關。然而,你可能會發現一個事實,即John McCarthy在1958年設計的Lisp編程語言受到lambda演算的影響。同年,McCarthy發表了An Algebraic Language for the Manipulation of Symbolic Expressions,其中提出了一個非常簡單的象徵性差異化計劃(見附錄I)。因此,你可以看到這兩個概念在開始時非常接近。