
Re: Mathematica and Lisp
Posted:
Mar 6, 2013 6:04 AM


On 06/03/2013 03:13, Richard Fateman wrote: > On 3/5/2013 1:16 AM, David Bailey wrote: > <snip> >> >> It is important to realise that anyone can understand any expression >> involving operators by using Hold and FullForm: >> >> (f @@@ g) // Hold // FullForm >> >> Hold[Apply[f,g,List[1]]] > > I, of course, would suggest that one NOT use > (f@@@g)//Hold//FullForm > > but > > FullForm[Hold[f@@@g]] > > 1. My form is clearer, not using any additional mysterioustothenovice > infix operations like //. > > 2. It is even shorter, using 2 fewer characters, as written. > > 3. It apparently requires less thought, because even you were, at least > for the moment, unsure of the precedence of // and so you inserted the > entirely unnecessary () around f@@g. Yes, I never use @@@, and convert it to an equivalent whenever I encounter it  but it is there for those that like it. > > 4. There is really no question of the precedence in my form. >
So perhaps we should extend your principle to maths itself? Why risk students getting confused about the meaning of a + b c + d or f(a+b) better to teach students to use a notation equivalent to FullForm! 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! These notations probably often encourage students to perform invalid manipulations  but even so, most people value them!
I guess Mathematicians themselves realised why operator notation is so useful a long time back. It reduces the clutter and helps people to concentrate on what matters. Ultimately the choice between FullForm and operator form is a psychological question  not a math or computer science one. Those of us who do a lot of programming, also value operators that assist with that task too.
The Mathematica language offers users a lot of choice  which you seem to abhor because some people don't choose to use it your way!
David Bailey http://www.dbaileyconsultancy.co.uk

