据我所知,一元减号是Haskell中唯一的一元运算符,它必然是Num
的negate
?有没有办法将一元减号重新绑定到不同类型类型的negate
?有没有办法将一元减号(否定)重新绑定到与Num不同的类型类型?
2
A
回答
4
尝试the RebindableSyntax extension。它允许一元减去引用范围内的任何“否定”。作为docs say:
- 否定(例如“ - (F X)”)是指“否定(F x)的”,无论是在数字模式和表达式。
编译器有这个约定硬编码的,但只要能说服否则你
- 打开
RebindableSyntax
,其中隐含开启NoImplicitPrelude
; - 当您导入Prelude时隐藏默认的
negate
;和 - 在范围内定义自己的
negate
。
+0
看来我必须定义一堆除了否定之外的东西。我还需要定义ifThenElse(使用模式匹配)并从fromString导入,但现在它可以工作。谢谢。 ......实际上,如果我们使用全球标准,而不是使用全球标准,现在我发现我可以将它作为我的DSL的类别定义的一部分。这很整齐。 –
+1
重新绑定语法是一个令人震惊的好主意! – hao
相关问题
- 1. 有没有办法将变量类型绑定到列数据类型?
- 2. 有没有办法将模型绑定到AngularJS中的另一个模型?
- 3. 有没有办法将相同的类型定义连接在一起?
- 4. 有没有办法使用Java中的接口来绑定泛型类型?
- 5. 有没有办法将一个类的特定值绑定到数据网格?
- 6. 有没有办法将send_key定义为默认设置的text_field元素类型
- 7. 有没有一种方法,以新的一类,它是同类型的其他类没有直接指定它
- 8. 类没有指定类型
- 9. 有没有办法根据输入类型指定一个类成员的类型到构造函数?
- 10. 有没有办法从WCF REST方法返回不同类型?
- 11. 无法将源类型Umbraco.Web.Models.RenderModel绑定到模型类型Repower.Cms.Umbraco.Models.Test
- 12. 有没有办法让Rust相信特定的关联类型与具体类型相同?
- 13. 有没有办法做出两种不同类型的列表
- 14. 有没有办法将类型选择器应用于元素?
- 15. Ninject绑定:绑定到不同类型的相同界面。为什么有效?
- 16. 有没有办法将WPF绑定标记转换为绑定类的实例?
- 17. 有没有办法将一个方法绑定到ListBox的DataTemplate?
- 18. 模型绑定到自定义类型具有不同的本地化
- 19. 有没有办法将元组转换为具有不同项目类型的另一个元组?
- 20. Groovy Codenarc.xml org.xml.sax.SAXParseException xsi:schemaLocation与元素类型规则集没有关联没有绑定
- 21. 有没有办法在Python中指定条件类型提示?
- 22. 有没有办法为extern类型定义变量
- 23. 有没有办法将复杂类型映射到EF Core
- 24. 如何将点击绑定到父类没有类的元素?
- 25. 有没有办法将一个类型参数约束为SqlDbType?
- 26. 有没有办法定义在方法声明中两个泛型类型
- 27. 有没有办法选择一个类的特定元素?
- 28. 有没有办法将模型值动态绑定到extJS 4.2中的表单?
- 29. 有没有办法绑定到Keyboard.FocusedElement?
- 30. 有没有办法比较XPath来确定正在查看的元素类型?
您可以避免前奏('-XNoImplicitPrelude'),然后根据需要定义它。问题是,大多数库隐含依赖前奏,所以它会很孤独 – hao
我试图在导入时隐藏否定,它不起作用。 –
哦,等等,我忘了。不理我! – hao