They are different animals. 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 overwriting, rather than reducing the graph, its expressions can always be compared with patterns in their bits and converted. Such symbolic manipulation is one of the key features of computer algebra systems. However, most computer algebra systems come from the fact that they have a lot of mathematics, and especially with powerful algorithms baked to solve various complex problems. You could write libraries to do this in functional languages ββ(and algebraic data types would make it more enjoyable than in imperative ones), but you still need to write these libraries.
sclv
source share