代码
rayTraceP (p2 (0, 0)) (r2 (1, 0)) (circle 1)
导致错误消息
Could not deduce: V a0 ~ V2
from the context: (Traced a, TrailLike a, Transformable a,
V a ~ V2)
bound by the inferred type for ‘it’:
forall a.
(Traced a, TrailLike a, Transformable a, V a ~ V2) =>
Maybe (Point (V a) (N a))
at <interactive>:1:1-44
The type variable ‘a0’ is ambiguous
我不知道为什么会这样。似乎manual中也使用rayTraceP
。
我使用diagrams-cairo-1.4.1。
答案 0 :(得分:0)
这种错误通常是由类型推断过程中类型不明确引起的,可以通过添加一个或多个类型签名来解决。在这种情况下,我认为问题很可能是无法弄清楚“第1圈”调用应具有的类型。如果显示所有代码,我可以为在何处添加类型签名提供更好的建议。
有关更多信息,请参见用户手册第5.5节:https://diagrams.github.io/doc/manual.html#tips-and-tricks