Question

Has anyone had a chance to dig into how F# Units of Measure work? Is it just type-based chicanery, or are there CLR types hiding underneath that could (potentially) be used from other .net languages? Will it work for any numerical unit, or is it limited to floating point values (which is what all the examples use)?

Was it helpful?

Solution

According to a response on the next related blog post, they are a purely static mechanism in the F# compiler. So there is no CLR representation of the units data.

Its not entirely clear whether it currently works with non-float types, but from the perspective of the type system it is theoretically possible.

OTHER TIPS

The best (and I think official) place to find out about this is on Andrew Kennedy's blog.

Here are the (current) relevant posts.

As I said in the post that your answerer referred to, this is most definitely something that you CAN'T do in C# (though I wish you could).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top