[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
## [Axiom-developer] [Indefinite Types] (new)

**From**: |
billpage |

**Subject**: |
[Axiom-developer] [Indefinite Types] (new) |

**Date**: |
Wed, 30 Nov 2005 05:56:28 -0600 |

Changes http://wiki.axiom-developer.org/IndefiniteTypes/diff
--
Declaring Types
The idea that one should be able to "declare the type" of a
variable in Axiom by the command
\begin{axiom}
n:PositiveInteger
\end{axiom}
is a frequent expectation of new users of Axiom - especially if one
has used other computer algebra systems, after all Axiom is supposed
to be a "strongly typed" system, right?
Unfortunately Axiom does not attempt to use this type information
when forming expressions - but worse - declaring the type actually
interferes with the use of the variable to form expressions!
\begin{axiom}
n+1
\end{axiom}
When you write 'n:PositiveInteger' what this tells Axiom is that
'n' will be assigned an integer value greater than 0 - only that.
After it is actually assigned some value, then it can be used
exactly like that value, but not before.
To me, this is a tremedous waste of an opportunity in Axiom to
to deal with "domain of computation" issues such as are
addressed in other untyped computer algebra systems by the use
of "assumptions" such as::
assume(x,PositiveInteger);
Such knowledge can be used to considerably improve the quality
and generality of the computations.
There was plenty of discussion on axiom-developer, but no
concensus yet, I'm afraid. Here are some of the related threads:
- http://lists.gnu.org/archive/html/axiom-developer/2004-06/msg00191.html
- http://lists.gnu.org/archive/html/axiom-developer/2004-06/msg00212.html
--
forwarded from http://wiki.axiom-developer.org/address@hidden

[Prev in Thread] |
**Current Thread** |
[Next in Thread] |

**[Axiom-developer] [Indefinite Types] (new)**,
*billpage* **<=**