這個問題是關於How to pattern match against a typeclass value?的後續。 我開始了一階邏輯的寵物項目,並決定使用Haskell來達到此目的。我的第一個障礙是定義一個「一階邏輯的公式」,因此數據類型: data Formula v = Belong v v -- x in y
| Bot -- False
我目前正在嘗試使用Z3爲具有多態列表的無類型語言編碼簡單程序邏輯。 據我所知,從the Z3 tutorial by Moura and Bjorner,不可能「嵌套在其他類型,如數組內的遞歸數據類型定義」。 因此,假設我有以下OCaml的類型: type value =
| Num of float
| String of string
| List of valu
我正在與Idris語法打交道,看來。 module Test
data Nat = Z | S Nat
Eq Nat where
Z == Z = True
S n1 == S n2 = n1 == n2
_ == _ = False
這抱怨,出現以下錯誤(V1.1.1): .\.\Test.idr:5:8: error: expected: "@",