部分函数模式
模块partial_template,其中 {-TODO:描述数据和 不使用eta-equality和 β-还原-} data FalseSet:设置位置 记录TrueSet:设置位置 data Bool:设置位置 错:布尔 正确:布尔 boolid:Bool->Bool boolid a=一个 _IsTrue:布尔->集合 True IsTrue=TrueSet False IsTrue=错误集 {-隐藏参数仅在参数 是真的。 由于域的可选部分 (参数为false时)未提供任何值 对于“IsTrue”测试,函数整体上仍然是 总计-} only_applied_to_true:(a:Bool)->{_:(boolid a)IsTrue}->Bool only_applied_to_true真=真 only_applied_to_true False{}{-这个子句很荒谬,但不必 此子句受隐藏参数保护,永远不会发生-} good=only_applied_to_true为真 fail=only_applied_to_true假