相关疑难解决方法(0)

重写规则不会触发匹配多个实例方法的规则

据我所知,我认为id1和id2来自类型类并且id1'和id2'不是没有任何区别.我正在使用最新的Haskell平台(GHC版本7.0.4和现在的7.4.1)运行"ghc Rewrite",我希望1也能解雇.

$ ghc Rewrite
[1 of 1] Compiling RewriteProblems  ( Rewrite.hs, Rewrite.o )
Rule fired: rewrite/ez'
Rule fired: rewrite/to1'
Rule fired: rewrite/ez
Rule fired: rewrite/ez
Rule fired: Class op id2
Rule fired: Class op id2
Run Code Online (Sandbox Code Playgroud)

这个例子:

{-# OPTIONS_GHC -O -ddump-rule-firings #-}
module RewriteProblems where

{-# RULES
"rewrite/ez"    forall a. id1 a = RDUnit
"rewrite/to1"   forall a. id2 (id2 a) = id1 a
"rewrite/ez'"   forall a. id1' a = RDUnit
"rewrite/to1'"  forall a. id2' (id2' a) = id1 a
   #-} …
Run Code Online (Sandbox Code Playgroud)

haskell

8
推荐指数
1
解决办法
421
查看次数

标签 统计

haskell ×1