axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] CAS for the masses

 From: Gabriel Dos Reis Subject: Re: [Axiom-developer] CAS for the masses Date: 28 Mar 2007 03:35:00 -0500

```address@hidden writes:

| 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.

Thanks for the example, Tim.

The reason I asked for such example is that, from my experience with
teaching and working on programming languages, most people tend not to
see the value of typing in "abstract arguments".  They find it more
convincing when looking at more concrete examples -- many people have
grown up programming in typeless or scripting languages which let thme
quickly cook their solutions, and have trouble sitting down come up
with a solution that pleases arbitrary wishes of what they perceive as
obscure type system.

| 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.

yes, but they ar ento yet in Axiom, so it is hard to make concrete
arrguments with it :-)

-- Gaby

```