tyPostings = tyMap tyAccount (tyList tyPosting)
-- * Class 'Sym_Transaction'
-type instance Sym (Proxy Transaction) = Sym_Transaction
+type instance Sym Transaction = Sym_Transaction
class Sym_Transaction term where
transaction_date :: term Transaction -> term Date
transaction_postings :: term Transaction -> term Postings
instance Gram_Term_AtomsFor src ss g Transaction
instance (Source src, Inj_Sym ss Transaction) => ModuleFor src ss Transaction where
- moduleFor _s = ["Transaction"] `moduleWhere`
+ moduleFor = ["Transaction"] `moduleWhere`
[ "date" := teTransaction_date
, "postings" := teTransaction_postings
]
tyTransaction :: Source src => Inj_Len vs => Type src vs Transaction
tyTransaction = tyConst @(K Transaction) @Transaction
-teTransaction_date :: TermDef Transaction '[] (Transaction -> Date)
+teTransaction_date :: TermDef Transaction '[] (() #> (Transaction -> Date))
teTransaction_date = Term noConstraint (tyTransaction ~> tyDate) $ teSym @Transaction $ lam1 transaction_date
-teTransaction_postings :: TermDef Transaction '[] (Transaction -> Postings)
+teTransaction_postings :: TermDef Transaction '[] (() #> (Transaction -> Postings))
teTransaction_postings = Term noConstraint (tyTransaction ~> tyPostings) $ teSym @Transaction $ lam1 transaction_postings