Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Mathematica and Lisp
Replies: 16   Last Post: Mar 7, 2013 3:58 AM

 Messages: [ Previous | Next ]
 David Bailey Posts: 714 Registered: 11/7/08
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 mysterious-to-the-novice
> 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

Date Subject Author
3/3/13 Richard Fateman
3/5/13 David Bailey
3/5/13 Richard Fateman
3/6/13 David Bailey
3/7/13 Richard Fateman
3/5/13 Bill Rowe
3/5/13 Richard Fateman
3/6/13 David Park
3/6/13 Richard Fateman
3/7/13 Christoph Lhotka
3/7/13 Murray Eisenberg
3/7/13 Noqsi