I've used Mathematica a lot (and, unfortunately, still using it), and written a program, which uses symbolic computations a lot to deal with simplification of multivariate polynomial systems of inequalities. Now I'm trying to get rid of that Mathematica code and rewrite the program in Haskell because writing and debugging a program in Mathematica which is more complex than doing some simple computations is a mess. 
<br><br>Nevertheless, Mathematica is a great product, especially if you know how to get what you want from it. <br><br>Ivan<br><br><div><span class="gmail_quote">On 9/30/06, <b class="gmail_sendername">Tamas K Papp</b> &lt;
<a href="mailto:tpapp@princeton.edu">tpapp@princeton.edu</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">On Mon, Sep 25, 2006 at 03:27:32PM +0200, Henning Thielemann wrote:
<br><br>Hi Henning,<br><br>&gt; Actually, laziness allows me to formulate algorithms that look more like<br>&gt; the specification of the problem than the solution. E.g., I can formulate<br>&gt; the solution of a differential equation in terms of a power series or time
<br>&gt; series in that way. However I have to put some effort into formulating it<br>&gt; in a way that works. E.g. I'm only able to solve such equations if it is<br>&gt; possible to express the second derivative in terms of the first and the
<br>&gt; zeroth one. Computer algebra systems are essentially better here.<br><br>In my experience, most people use CAS interactively: they encounter an<br>integral or a PDE that's difficult to solve, so they type it into
<br>Mathematica (which frequently cannot solve it either, then you go<br>crazy, numerical, or both ;-).&nbsp;&nbsp;It is more like a sophisticated<br>symbolic calculator with a lot of patterns built in for manipulating<br>expressions.
<br><br>Mathematica has features of a programming language, but most people I<br>know are not using those when manipulating formulas, and conversely,<br>when _programming_ in Mathematica (ie writing code and then executing
<br>it do so something repetitive) they rarely do anything symbolic.<br><br>CAS are great for specific purposes, especially for replacing those<br>tomes which have solutions of equations/ODEs/PDEs/integrals etc in<br>them, and some CAS have Algol-style flow control and numerical methods
<br>which you can use for solving numerical problems, but the two are<br>almost never mixed.<br><br>Best,<br><br>Tamas<br>_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org">
Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br></blockquote></div>