I'm not certain, but it would appear Fahrenheit support is not built-in. There's a module called NonSI:
https://hackage.haskell.org/package/dimensional-0.13/docs/Nu...
I would have expected Fahrenheit to be in that module if it were supported.
But I presume you could add Fahrenheit yourself, if you were willing to learn a bit about the library's internals.
For gory details: https://en.wikipedia.org/wiki/Affine_transformation
To say it in more detail: To transform between Celsius and Kelvin, you just translate. (That operation is supported in Dimensional.)
To transform between Fahrenheit and Celsius or Fahrenheit and Kelvin, you translate and scale.
We know that Dimensional can scale, because it supports things like miles to kilometers. We know it can translate, because it supports Celsius to Fahrenheit. Is it the combination of scaling and transforming that makes Fahrenheit impossible?
f = m*c + b, which is both a scale and a transform.
f = m*c + b
where m is simply equal to 1. Why wouldn't Fahrenheit conversion be the same thing, just with different constants?
Yeah, you're correct.