4
A
回答
5
它發生:
v1 : mod 3 2 = 1
v1 = Refl
然而,這將類型檢查,罰款。它是多態的,默認數字常量是Integer
s。
Idris> :t mod
mod : Integral ty => ty -> ty -> ty
Idris> :t 3
3 : Integer
Idris> :t mod 3 2
mod 3 2 : Integer
對於Integer
mod
類型的功能是不總。
取而代之的是使用modNatNZ
函數,因此所有類型的檢測都是完美無缺的,並且工作正常。
v1 : modNatNZ 3 2 SIsNotZ = 1
v1 = Refl
相關問題
- 1. 爲什麼在GHC 7.10中進行類型檢查的代碼不再在GHC 8.0.1中進行類型檢查?
- 2. 類型平等檢查
- 3. rdflib SPARQL查詢(涉及子類)的行爲不如預期
- 4. 的NullPointerException在的onResume,涉及AdMob的,但不知道爲什麼
- 5. 爲什麼idris中的這兩個元組相等?
- 6. 爲什麼這種類型不相等?
- 7. 在C#中創建模板系統會涉及什麼
- 8. 爲什麼在Ruby中使用OR表達式進行相等性檢查?
- 9. 爲什麼不這種類型檢測?
- 10. 在線接受付款涉及什麼?
- 11. 在說明涉及泛型
- 12. 如果方法沒有進行類型檢查,爲什麼C++模板匹配?
- 13. 爲什麼Visual Studio調試器不能正確計算涉及泛型類型參數的表達式?
- 14. 在Idris中約束記錄類型
- 15. 什麼是Idris字典/地圖的類型
- 16. iOS的10:NSInvalidLayoutConstraintException:約束不當涉及不兼容的類型
- 17. 爲什麼下面不能編譯? (涉及C#泛型和繼承)
- 18. 如何在Ada中對Mod類型執行二進制加法?
- 19. 查詢檢查索引及其類型
- 20. AC_CHECK_LIB檢查什麼類型的符號?
- 21. 爲什麼php會說兩個相等的東西是不平等的?
- 22. C#平等檢查
- 23. 如何查詢涉及MAX的多行?
- 24. 爲什麼涉及每行末尾的替換會在行的開頭添加更多內容?
- 25. 使用VBA進行類型檢查
- 26. 對Caché對象進行類型檢查
- 27. 爲什麼在MYSQL中比較類型不會引發錯誤?
- 28. 爲什麼.order不會在我的查詢中執行?
- 29. 爲什麼在Ruby中-7 mod 3 = 2?
- 30. 類涉及的ActionListener不是抽象
恐怕「在編譯器階段Idris只能在類型中執行模式匹配」這句話是不正確的。舉個例子,'(Int 3) - 2 = 1',你可以用'Refl'來證明它,儘管'Int'不是一個歸納數據類型。正如你已經解釋過的,'Refl'不能用'mod'的原因是偏袒的。 –