[Date Index] [Thread Index] [Author Index]
Re: Mathematica and Lisp
[Moderator Note: This thread is now being closed. Those users who want to continue the discussion should do it privately.] On Wednesday, March 6, 2013 4:04:52 AM UTC-7, David Bailey wrote: > On 06/03/2013 03:13, Richard Fateman wrote: > > 4. There is really no question of the precedence in my form. > > So perhaps we should extend your principle to maths itself? My old friend Bob Frankston liked precedence-free notation, so he made the first VisiCalc precedence-free. He now acknowledges this as a mistake: http://www.frankston.com/public/?name=implementingVisicalc > This > > principle would be even more useful when they got to calculus, where > > notations like dy/dx and integrals are hopelessly ambiguous in that the > > terminating dx looks superficially as if it could commute with the > > integrand! Yes, and that very ambiguity has inspired mathematicians to extend mathematics to embrace its implications. Consider "operational calculus". At several levels, that illustrates the profound differences between programming and mathematics. Consider that the word "function" can have have different definitions in different mathematical contexts, while to a programmer a function is simply a computable map. A user of a language, like Lisp, that treats functions as computable maps can't easily make contact with the more abstract properties of mathematical functions. You can't write DiracDelta in Lisp. It isn't a map, and cannot be computed. But expressions containing DiracDelta can sometimes be rewritten to eliminate it. Those rewriting rules are its implementation. That's the kind of thing that that Mathematica does that Lisp cannot (unless you write a language that's Mathematica-like in Lisp, but then you're no longer working in Lisp).