我想知道是否可以返回包含使用 Num 类型的变量构造的 Double 变量的结果。举个例子:
dist :: (Graph g n e, Ord n, Num e) => g -> n -> n -> [Double]
dist graph n1 n2 = loop (nodes graph) where
loop [] = []
loop nodes = [n'] ++ loop (tail nodes) where
n' = if (getDist (head nodes)) == 0) then 1/0 else (getDist (head nodes)) + 1 --1/0 = infinity
我正在考虑一个类似于 toFractional 的函数,以始终从 if 语句中提供双精度