[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] CAS for the masses
From: |
daly |
Subject: |
[Axiom-developer] CAS for the masses |
Date: |
Tue, 27 Mar 2007 23:04:30 -0600 |
Gaby writes:
> I suspect that agruments about typed language in CAS may be more
> convincing by studying cases where the type system does add value
I think that one canonical case is that Axiom strongly highlights the
interaction between type, representation, and "simplification".
The usual example is:
(1/2)*x^2 + (1/3)*x + 3
Type: Polynomial Fraction Integer
%::Fraction(Polynomial(Integer))
2
3x + 2x + 18
-------------
6
Type: Fraction Polynomial Integer
Simplification is a hard problem because it is usually weakly defined
(among other reasons such as the zero equivalence problem). Strong
typing allows you to define what "simple" means in a given type tower.
This kinds of simplification could be done using decomposition of the
"string" form of the equation but that steps around the semantics.
Though not yet apparent strong typing really comes to the foreground
when provisos are used.
When you read a maths book most of the equations are actually just
"icons". The real meaning of the equation is in the surrounding text
and context. Axiom carries that surrounding information in the type
whereas other systems focus on the "icons" and syntactic manipulations.
This is the primary reason why it makes no sense to "export" an equation
from Axiom and the "import" it again. Much is lost when the type is
removed in favor of the text iconic representation.
Tim
- [Axiom-developer] CAS for the masses,
daly <=