Cactus私の質問に対処する方法を示しました:Helper Function to Determine if Nat `mod` 5 == 0。 彼が書いた: onlyModBy5 : (n : Nat) -> {auto prf : n `modNat` 5 = 0} -> Nat
onlyModBy5 n = n
をその後、私はVect n Nat年代の合計にonlyModBy5を適用
は、これら2種類の和を考えます。 だから、私が作るしようとした: data Higher = Foo | Bar しかし、それはコンパイルに失敗しました: *ADT> :r
Type checking ./ADT.idr
ADT.idr:3:6:Main.Foo is already defined
ADT.idr:4:6:Main.Bar is already defined
どのよう
インターフェイスで制約された型の関数を作成したいと思います。私の目的は、VerifiedMonoidをClasses.Verifiedのcontribパッケージから定義して、単純なモノイドソルバーを構築することです。 eval : VerifiedMonoid a => Expr n -> Env a n -> a
私は愚かな何かをするか、何かが欠けています:evalの型シグネチャのため Mo
型駆動開発を機能定義:私は「ので、私はEqList (x :: xs) (x :: ys)でxを推論 data EqList : (xs : List a) -> (ys : List a) -> Type where
Same : (xs: List a) -> EqList xs xs
sameS : (xs : List a) -> (ys : List a) -> (x: a