|
|
Re: Mathematica and Lisp
Posted:
Mar 5, 2013 10:13 PM
|
|
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.
4. There is really no question of the precedence in my form.
5. The whole notion of a novice being required to know about both Hold and FullForm in order to get an explanation for @@@ (or alternatively type f@@@g, select @@@ and hit F1), (or alternatively type bare on a line @@@ and hit F1 -- a solution that I found that did not require use of a mouse -- an improvement!) is all too much.
I have not really heard an explanation for ?@@@ failing except that it is expected to fail by cognoscenti. My favorite video commentary, previously cited, about such an approach to the equivalence of bugs to features is "I meant to do that"...
http://www.youtube.com/watch?v=vJXU7EVXs2A
RJF
|
|