Maxima Manual - Example Page 15 - different result for ''sin(1);



Robert Dodier wrote:
>
> The point of a reference manual is to describe what the program DOES.
> Whether it's useful or not is for someone else to figure out.
>   
 An example in the manual should illustrate how a feature is useful. The 
example of ''sin(1) is wrong, and I am surprised that
it was ever right.  The rest of the example regarding foo is, I think, 
pointless. 

How would you feel about an automobile manual that described the side 
view mirrors, and then by example showed that if you pointed them 
downward you can see how close to the curb you have parked?
Then left it to the driver to figure out that it was not a good idea to 
leave the mirrors in this position.

Incidentally, the Macsyma manual as it emerged from MIT consisted in 
part of documentation which described a functionality concisely and then 
in the examples showed almost uniformly the exceptional circumstances in 
which the functionality would fail. This was not helpful.
I think that relevant examples are very important, and a way of 
accessing a large range of examples (e.g. by a link) is a great idea, 
and one that is used to very good effect in the Mathematica reference.
> The feature in question is the verbification of nouns via quote-quote.
> If you believe that can never be useful, feel free to promote
> the idea of cutting it out.
>   

The best explanation of  the use of  '' is that  ''x  is the same as if 
you were to type the value of x  AT THAT POINT. This is something I 
think of as being done by the parser. I don't know if really is done 
that way, but thinking of it that way works for me.

There is another use, (separately implemented?, that makes  ''  the 
inverse of  '  in some sense, but in such a subtle way that
it probably should not ever be used -- there are other commands nounify, 
verbify.   ''x and

consider 'diff(y,x),  which is different from '(diff(y,x)) which is 
different from diff(y,x) = '''diff(y,x); see also ''('diff(y,x)) which 
is still a noun form.  Also see ev('diff(y,x))  vs ev('diff(y,x),diff).
Interestingly, you can type '''  , ' ''  , '' '    ,   it turns out that 
'''   means '' '.

now also try
?print(x);   --> verb form
?print(nounify(x));  --> noun form
?print('x);    -->   verb form
?print(''x);  --> verb form
?print(''nounify(x));  -->  noun form
?print(''(nounify(x)));   --> noun form
?print(verbify(nounify(x))); --> verb form

My suspicion:  if this  '' works in any particular instance the way you 
want it to, it is just a fortunate accident!