"Strong typing vs. strong testing"

Tim Bradshaw tfb at tfeb.org
Tue Sep 28 06:19:55 EDT 2010


On 2010-09-28 10:55:19 +0100, Malcolm McLean said:

> I'd like to design a language like this. If you add a quantity in
> inches to a quantity in centimetres you get a quantity in (say)
> metres. If you multiply them together you get an area, if you divide
> them you get a dimeionless scalar. If you divide a quantity in metres
> by a quantity in seconds you get a velocity, if you try to subtract
> them you get an error.

There are several existing systems which do this.  The HP48 (and 
descendants I expect) support "units" which are essentially dimensions. 
 I don't remember if it signals errors for incoherent dimensions.  
Mathematica also has some units support, and it definitely does not 
indicate an error: "1 Inch + 1 Second" is fine.  There are probably 
lots of other systems which do similar things.




More information about the Python-list mailing list