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. 平等檢查涉及constexpr例如
- 2. 爲什麼在GHC 7.10中進行類型檢查的代碼不再在GHC 8.0.1中進行類型檢查?
- 3. 爲什麼Seq.concat的類型涉及靈活類型?
- 4. 類型平等檢查
- 5. 涉及可判決平等的證明
- 6. Haskell:爲什麼要進行這種類型檢查?
- 7. 爲什麼函數涉及不在函數中的代碼?
- 8. 的NullPointerException在的onResume,涉及AdMob的,但不知道爲什麼
- 9. 爲什麼PHP中的類型檢查稱爲「提示」而不是「檢查」?
- 10. 爲什麼idris中的這兩個元組相等?
- 11. 爲什麼這種類型不相等?
- 12. 爲什麼\\。平等\。在preg_replace?
- 13. 爲什麼TDateTime計算涉及變量?
- 14. Haskell爲什麼這種類型檢查
- 15. 爲什麼類型檢查昂貴?
- 16. 比較兩個相等的平均值而不涉及計算
- 17. 在C#中創建模板系統會涉及什麼
- 18. 爲什麼進行相等性檢查,不允許隱式轉換對象類型,但對於int?
- 19. 涉及xpath的查詢不會返回任何行
- 20. 檢查涉及Python中的any()函數的條件時出現類型錯誤
- 21. 爲什麼當畫布涉及時,這些面板會錯位?
- 22. 爲什麼在Ruby中使用OR表達式進行相等性檢查?
- 23. 爲什麼在不涉及邏輯時使用屬性?
- 24. 爲什麼數據庫或語言平臺在執行查詢時不會返回強類型類?
- 25. 爲什麼不這種類型檢測?
- 26. 在線接受付款涉及什麼?
- 27. 如何在涉及兩個表時檢查是否存在行?
- 28. SQL:對於每一行,檢查涉及該行的
- 29. 如果方法沒有進行類型檢查,爲什麼C++模板匹配?
- 30. 在說明涉及泛型
恐怕「在編譯器階段Idris只能在類型中執行模式匹配」這句話是不正確的。舉個例子,'(Int 3) - 2 = 1',你可以用'Refl'來證明它,儘管'Int'不是一個歸納數據類型。正如你已經解釋過的,'Refl'不能用'mod'的原因是偏袒的。 –