[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiomdeveloper] CAS for the masses
From: 
Gabriel Dos Reis 
Subject: 
Re: [Axiomdeveloper] 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