Subject: bug#34999: Record special field abstraction leakage

From: Ludovic Courtès <[email-masked]>
Date: Tue, 26 Mar 2019 10:38:11 +0100

The changes I made in version-control.scm and gnucash.scm in commit
e6301fb76d0a8d931ece2e18d197e3c2cc53fc6c revealed an abstraction leakage
I wasn’t aware of: there’s a pattern where users “see” that thunked
fields are thunked:

  (package
    ;; …
    (inputs …)
    (arguments `(foo bar ,(inputs) …)))  ;<- here ‘inputs’ is seen as a thunk

Fortunately I could only find two occurrences of this and this use case
is more elegantly replaced by:

  (package-inputs this-record)

… which also has better semantics.  It’s remains a bug, though.

Ludo’.