據我所知,一元減號是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