快速提问:使用dimensional GHC推断出testRate = 10 *~ (watt / second)
的类型:
testRate
:: Numeric.Units.Dimensional.Quantity
(Numeric.Units.Dimensional.Dim
(numtype-1.0.1:Numeric.NumType.Pos
numtype-1.0.1:Numeric.NumType.Pos1)
(numtype-1.0.1:Numeric.NumType.Pos
numtype-1.0.1:Numeric.NumType.Zero)
(numtype-1.0.1:Numeric.NumType.Neg
(numtype-1.0.1:Numeric.NumType.Neg
numtype-1.0.1:Numeric.NumType.Neg2))
numtype-1.0.1:Numeric.NumType.Zero
numtype-1.0.1:Numeric.NumType.Zero
numtype-1.0.1:Numeric.NumType.Zero
numtype-1.0.1:Numeric.NumType.Zero)
a
testRate的 short 类型是什么?我如何推导出其他类型的单位?
答案 0 :(得分:3)
如果切换到dimensional-tf,可以将其写为
testRate :: Quantity (Div DPower DTime) a
我认为推导出这些类型并不是一种很好的通用方法,只需写下与您认为单位应该相同的类型(使用Mul
和Div
)。
答案 1 :(得分:0)
短型是什么意思?您可以做的最好的事情是删除所有模块限定符,例如
testRate
:: Quantity
(Dim
(Pos Pos1)
(Pos Zero)
(Neg (Neg Neg2))
Zero
Zero
Zero
Zero)
a