我認爲你可以在Agda中任意功能。這樣您就可以隨時調換輸入的順序。在agda中依賴類型的捲曲
,並表示,即使編譯一個定理:
curry : {A : Set} -> {B : Set} -> {C : Set} -> (A -> B -> C) -> (B -> A -> C)
curry f b a = f a b
然而,阿格達具有依賴型和類似
curry' : {A : Set} -> {B : (A -> Set) } -> { C : (A -> Set) } -> ((a : A) -> B a -> C a) -> (B a -> (a : A) -> C a)
甚至不進行編譯。
由於(a : A) -> B a -> C a
與A -> B -> C
一樣有效我開始覺得你不能一般咖喱。儘管在a : A
之前遞交函數B a
似乎沒什麼特別可怕的。
有沒有一些一般的執行咖喱的技巧?或者Agda不可能?