evalation, simplification, etc.



Yes, I wasn't really talking about "types" as in "datatypes", but numeric ranges.

At 04:50 PM 2/24/2013, Richard Fateman wrote:
>On 2/24/2013 4:22 PM, Henry Baker wrote:
>>I have been talking about both _type/value/range inferencing_ and compilation; these have entirely different goals.  So a "type/value/range inference macro" might be expanded during the inferencing stage, while a "compilation/efficiency-hack macro" might be expanded during a compilation stage.  E.g., a type inference macro might want to force case analysis, while it might be pointless and wasteful during execution to do case analysis.
>
>I'm not sure I understand here.  The symbolic data objects (trees) can be evaluated in various
>ways, e.g. if all variables are assigned real-interval values,  a result-range can often be computed.
>That would be one way, but not the only way, of inferring a range. I supposed one can also do
>a type inference by assigning types, though this doesn't work so well. e.g.  sqrt(real) is not necessarily
>real, but can  be complex  (actually pure imaginary).  Usually Maxima lets the types fall where they
>may, not attempting to predict them ahead of time. Perhaps this is what your last sentence means.