Simplification of products and the number 0



type( sqrt( <integer> ) ) is 'exact algebraic expression', of which
'integer' is a special case.

I suppose you could treat 'exact number' as a special case of 'float', but
that is not the way Lisp or the compiler works.  Not only are they
represented incompatibly, but there are integers (e.g. 10^400) which are not
representable as floats...

                 -s


On Mon, Sep 27, 2010 at 10:03, Andrey G. Grozin <A.G.Grozin at inp.nsk.su>wrote:

> On Mon, 27 Sep 2010, Stavros Macrakis wrote:
>
>>          b) we want type(a*b) to be a function of type(a) and type(b),
>> independently of their values (especially important for compilation)
>>
> This is not always so, logically. For example, the types of sqrt(4) and
> sqrt(3) differ.
>
> Andrey