4
我想要设置类型(x, y)
与x /= y
。类型对(x,y)与(x/= y)
我的想法是定义NEqPa : Type -> Type
这样NEqPa a
应该包含所有的元素((x,y), p)
与x : a
,y : a
和p : (x = y) -> Void
。我尝试了以下两个版本:
NEqPa a = ((x, y) : (a, a) ** (x = y) -> Void)
NEqPa a = ((x : a, y : a) ** (x = y) -> Void)
这两个似乎都是语法错误,但我不知道如何解决它们。
[编辑]我发现了一个解决方案:
NEqPa a = (p : (a, a) ** (fst p = snd p) -> Void)
是这种做法合理吗?
谢谢。如果我想详细了解Idris的语法,是否有任何来源可以推荐?目前还没有语言报告,是吗? – fweth