私は、最近仕事で行ったことを (より簡単な方法で) 再構築することにより、Idris を学ぼうとしています。
貸方のベクトルと借方のベクトルを使用して総勘定元帳をモデル化するデータ型が必要です。私はここまで来ました:
data GL : Type where
MkGL : (credits : Vect n Integer) ->
(debits : Vect m Integer) ->
(sum credits = sum debits) ->
GL
emptyGL : GL
emptyGL = MkGL [] [] Refl
しかし、既存の GL にレコードを追加する方法がわかりません。
のような関数で
addTransactions : GL -> (Vect j Integer) -> (Vect k Integer) -> Maybe GL
新しい GL がルールに従っていることを確認/強制するにはどうすればよいですか?