On Mon, Apr 09, 2001 at 09:36:45AM -0700, anatoli wrote:
It seems that fundeps are powerful enough to do compile-time dimensional analysis in Haskell. That is, one can devise types that represent dimensions of quantities, such as (meter / second) or (kilogram * meter / second^2), and have a complete set of type-correct operations on such types.
Yes. Note that specific language support for dimensions can do more; e.g., with a style like Andrew Kennedy's, you get much nicer principal types. I hadn't thought about doing rational arithmetic with GCDs. Might be nice. One point of view is that if you can do things like this painfully and explicitly in the current type system, Haskell might as well provide support to do it explicitly. Best, Dylan Thurston