开发者

Are symbolic computation and functional programming related? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Closed 3 years ago.

Improve this question 开发者_开发百科

I was wondering if symbolic computation in Computer Algebra System (such as symbolic toolbox in Matlab, Mathematica) and functional programming related and how? Does the former belong to the latter?

Thanks and regards!


They're different beasts. However, one point of overlap is term-rewriting languages such as pure ( http://code.google.com/p/pure-lang/ ). Pure can be used as a purely functional programming language. However, since it is implemented by term rewriting rather than graph reduction, its expressions are always able to be pattern-matched into their bits and transformed. This sort of symbolic manipulation is one of the key features of computer algebra systems. That said, a great deal of the power of computer algebra systems comes from having lots and lots of math baked in, and especially having powerful algorithms baked in for solving various tricky problems. You could write libraries to do that in functional languages (and algebraic data types would make it more pleasant than in imperative ones), but you'd still need to write those libraries.


These two concepts are not necessarily related. However, you might find interesting the fact that the Lisp programming language designed by John McCarthy in 1958 was influenced by the lambda calculus. Also that year, McCarthy published An Algebraic Language for the Manipulation of Symbolic Expressions where a very simple symbolic differentiation program was presented (see Appendix I). Therefore, you can see that the two concepts were very close at the beginning.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜