我偶然发现伊德里斯似乎是一种奇怪的行为。
我在Ubuntu 17.04和Idris 1.0上使用Emacs 25.3。
考虑以下模块:
module Strange
%default total
fun : Int -> Int -> Int
fun 0 0 = 0
fun 0 n = 10
fun n 0 = 20
当我加载它(C-c C-l
)时,我没有得到非全部功能警告,当我在REPL上尝试它时,我得到了这个:
λΠ> fun 100 200
20 : Int
......好像Idris与第三个子句中的文字0
不匹配。在正常shell(idris Strange.idr
)中加载模块时也会发生此行为。
我不应该得到关于非整体性的某种错误吗?这个版本的Idris是否有一些错误?