Subject: bug#36547: expect an earlier/clearer error when trying to splice(?) a function into a gexp

From: Robert Vollmert <[email-masked]>
Date: Mon, 8 Jul 2019 14:33:36 +0200

I tried to use a function in a gexp along the lines of

(define* (f x) …)

#~(begin
     (#$f x)
     …)

This resulted in the following error:

ERROR: In procedure primitive-load:
In procedure scm_lreadr: /gnu/store/wcw0fii855axkiqfz05283rwl7nlrb3i-puzzledb-blogs-job-builder:1:254: Unknown # object: #\<

where the referenced builder file contains

… (let ((backend (#<procedure read-secret (file)> "tools.token"))) …

It seems to me that whatever code writes the builder file should already complain at the point
where it substitutes #<procedure read-secret (file)> — is that possible?