Haskell 有没有办法将一元减号(否定)重新绑定到与Num不同的类型类?
据我所知,一元负号是Haskell中唯一的一元运算符,它与Haskell 有没有办法将一元减号(否定)重新绑定到与Num不同的类型类?,haskell,Haskell,据我所知,一元负号是Haskell中唯一的一元运算符,它与Num的negate?有没有办法在另一个typeclass中将一元负号重新绑定到一个否定的类型?试试。它允许一元负号引用范围内的任何“否定”。作为: 否定(例如“-(fx)”在数字模式和表达式中都表示“否定(fx)” 编译器将此约定硬编码,但只要您 打开rebindabletsyntax,它隐式地打开NoImplicitPrelude 导入前奏曲时隐藏默认的否定;及 在范围中定义自己的否定 您可以避免前奏(-xnomplicitpr
Num
的negate
?有没有办法在另一个typeclass中将一元负号重新绑定到一个否定的类型?试试。它允许一元负号引用范围内的任何“否定”。作为:
- 否定(例如“-(fx)”在数字模式和表达式中都表示“否定(fx)”
编译器将此约定硬编码,但只要您
- 打开
rebindabletsyntax
,它隐式地打开NoImplicitPrelude
李>
- 导入前奏曲时隐藏默认的
否定
;及
- 在范围中定义自己的
否定
您可以避免前奏(-xnomplicitprelude
),然后根据需要定义它。问题是,大多数库都隐式地依赖于prelude,因此它将非常孤独。我尝试在导入期间隐藏否定,但它不起作用。哦,等等,我忘了。别理我!除了否定,我似乎还得定义一大堆东西。我还需要定义ifThenElse(使用模式匹配)和importfromstring,但现在它可以工作了。谢谢事实上,我现在想,与其使用全球标准,不如将其作为DSL类型类定义的一部分。这很好。