
1 Feb
2005
1 Feb
'05
11:51 p.m.
There's actually something even lower level than a dimension library. In essence, what we've got is: - We're generalizing the notion of an arithmetic type T to a type of the form <T,X>, where X is some sort of tag. - For any X1 and X2 and any arithmetic operation 'op', we have rules for whether <T,X1> op <T,X2> is well defined. If it is then the result is tagged as <T,X3>, and we have rules to determine X3 in terms of X1, X2, and op. All of the knowledge about how to represent dimensional systems (mpl vectors, compile-time fractions, etc.) is higher level than this. --Matt