Problems with map.



On Wed, Sep 26, 2012 at 2:31 PM, Richard Fateman
<fateman at eecs.berkeley.edu>wrote:

>  ...The internal operator in 1/2 is 'rat'  which requires 2 integer
> operands.  A special case
> could be set to create f(1)/f(2)   which is really f(1) *  f(2)^(-1) in
> this example, but
> I'm not sure that map should do that.
>

Well, part/args/op treat 1/2 as "/"(1,2) already, even though ?caar(1/2) =
RAT and ?caar(a/b) = MTIMES.

One weird thing here is that mapatom treats 1/2 as atomic even though
part/args/op are perfectly content to treat it as composite; understandable
in the a[i] case, but why the 1/2 case?

Actually, I think that 1/2 is "a number"  and thus atom(1/2) should be
> true.  But this atom
> concept is not very accurately portrayed. Atoms should be
> non-decomposable, except
> by nuclear fission..
>

Sure, but you might also want to think of 1+%i, 2^(1/2), and 1+%pi as
number literals... :-)

         -s