sub'd!

On Wed, Oct 4, 2023 at 4:47 PM Dr. Arne Babenhauserheide <arne_...@web.de>
wrote:

>
> Christine Lemmer-Webber <cweb...@dustycloud.org> writes:
>
> > 2020-03-30 * "Starting balance"
> >   Assets:Retirement:IRA                1321.84 USD
> >   Equity:OpeningBalance
>
> I wondered whether we could make this executable as it is, but for that
> we’d have to create one procedure for every date.
>
> Since accounts have to be declared with something like
>
> account ArneBab:Assets:Autorenhonorar:epubli
>
> creating a proc per account would actually give us some compile-time
> validation.
>
> import : ice-9 optargs
>
>
> define USD 'USD
> define-syntax-rule (account name)
>   define* (name #:optional value currency)
>     list (quote name) value currency
> define (entry description
>         account-name1 value1 currency1
>         account-name2 value2 currency2)
>   ;; do something useful
>   . description
>
>
> define-syntax date
>   λ : x
>     syntax-case x : *
>       : _ * description account1 account2
>         #' apply entry : cons description : append account1 account2
>
>
> define-syntax-rule : 2020-03-30 args ...
>   date args ...
>
>
> ;; Missing piece: Running
> ;; define-syntax-rule (the-date args ...) (date args ...)
> ;; for each possible date.
>
>
>
> And actually implementing some state tracking …
>
> This already works (but only returns "Starting balance"):
>
>
> account Assets:Retirement:IRA
> account Equity:OpeningBalance
> 2020-03-30 * "Starting balance"
>   Assets:Retirement:IRA                1321.84 USD
>   Equity:OpeningBalance
>
>
> Best wishes,
> Arne
> --
> Unpolitisch sein
> heißt politisch sein,
> ohne es zu merken.
> draketo.de
>

Reply via email to