【发布时间】:2012-07-21 23:07:57
【问题描述】:
我有一个data 类型:
data BuildException a = KillBuild JobID a Stage
| FailBuild JobID a Stage
| CancelBuild JobID a Stage
| StopBuild JobID a Stage
deriving Typeable
其中 a 必须有类 Foo 的实例。我记得读过(也许在 RWH 中)
虽然data 定义中可能有类约束,但这是不可取的。
那么这样做的正确方法是什么?
【问题讨论】:
-
附带说明,您可能希望将此类型一分为二:
data Reason = Kill | Fail | Cancel | Stop; data BuildException a = BuildException Reason JobID a Stage。 -
@DanielWagner 没错。