我正在尝试通过重建(以更简单的方式)我们最近在工作中所做的一些东西来学习 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 是否遵守规则?