From 8775c6ce14a77e825a39d60378fd0930998a2498 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Mon, 3 Apr 2023 20:43:45 +0200 Subject: [PATCH] Bank transaction custom printer. --- src/bank-account.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/bank-account.scm b/src/bank-account.scm index c019c02..9bbf95f 100644 --- a/src/bank-account.scm +++ b/src/bank-account.scm @@ -45,7 +45,8 @@ ) (import scheme - (chicken base)) + (chicken base) + (chicken format)) ;; Bank account is represented as a list with list with the following ;; elements: list of transactions, account number, bank code. This @@ -71,4 +72,15 @@ ;; Creates a new bank transaction. (define-record bank-transaction id date amount currency varsym message type) + (set-record-printer! bank-transaction + (lambda (tr out) + (fprintf out "#" + (bank-transaction-id tr) + (bank-transaction-date tr) + (bank-transaction-amount tr) + (bank-transaction-currency tr) + (bank-transaction-varsym tr) + (bank-transaction-message tr) + (bank-transaction-type tr)))) + )