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.