小编sca*_*aza的帖子

在函数类型中加上vs S.

以下向量声明 cons

cons : a -> Vect n a -> Vect (n + 1) a
cons x xs = x :: xs
Run Code Online (Sandbox Code Playgroud)

因错误而失败

Type mismatch between
                S n
        and
                plus n 1
Run Code Online (Sandbox Code Playgroud)

而以下矢量append编译和工作

append : Vect n a -> Vect m a -> Vect (n + m) a
append xs ys = xs ++ ys
Run Code Online (Sandbox Code Playgroud)

为什么plus第二种情况接受类型级别,而第一种情况不接受.有什么不同?

idris

3
推荐指数
1
解决办法
59
查看次数

标签 统计

idris ×1