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.
-- http://mail.python.org/mailman/listinfo/python-list