Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 有没有办法将一元减号(否定)重新绑定到与Num不同的类型类?_Haskell - Fatal编程技术网

Haskell 有没有办法将一元减号(否定)重新绑定到与Num不同的类型类?

Haskell 有没有办法将一元减号(否定)重新绑定到与Num不同的类型类?,haskell,Haskell,据我所知,一元负号是Haskell中唯一的一元运算符,它与Num的negate?有没有办法在另一个typeclass中将一元负号重新绑定到一个否定的类型?试试。它允许一元负号引用范围内的任何“否定”。作为: 否定(例如“-(fx)”在数字模式和表达式中都表示“否定(fx)” 编译器将此约定硬编码,但只要您 打开rebindabletsyntax,它隐式地打开NoImplicitPrelude 导入前奏曲时隐藏默认的否定;及 在范围中定义自己的否定 您可以避免前奏(-xnomplicitpr

据我所知,一元负号是Haskell中唯一的一元运算符,它与
Num
negate
?有没有办法在另一个typeclass中将一元负号重新绑定到一个否定的
类型?

试试。它允许一元负号引用范围内的任何“否定”。作为:

  • 否定(例如“-(fx)”在数字模式和表达式中都表示“否定(fx)”
编译器将此约定硬编码,但只要您

  • 打开
    rebindabletsyntax
    ,它隐式地打开
    NoImplicitPrelude
  • 导入前奏曲时隐藏默认的
    否定
    ;及
  • 在范围中定义自己的
    否定

您可以避免前奏(
-xnomplicitprelude
),然后根据需要定义它。问题是,大多数库都隐式地依赖于prelude,因此它将非常孤独。我尝试在导入期间隐藏否定,但它不起作用。哦,等等,我忘了。别理我!除了否定,我似乎还得定义一大堆东西。我还需要定义ifThenElse(使用模式匹配)和importfromstring,但现在它可以工作了。谢谢事实上,我现在想,与其使用全球标准,不如将其作为DSL类型类定义的一部分。这很好。