compile-time deserialization

Al <[email protected]>
Newsgroups gmane.lisp.scheme.chicken
Message-ID <[email protected]>
Hi, suppose I need to reference data from "file.txt" in my Scheme 
program. I could use read-char / read / open-input-file etc (or other 
(chicken io) procedures) to read the the contents of the file into a 
variable.

However, such deserialization happens at run-time. If I compile my 
program into an executable, it will try to open "file.txt" at run-time. 
How can I arrange for "file.txt" to be read at compile-time, and inlined 
into the executable, so that the executable doesn't require access to 
the original file?

The only way I can think of is to convert "file.txt" to a scheme string 
definition in a separate file:

; file.scm
(define file-contents " ... ")

and include it via (include "file.scm"). Then the definition would occur 
at compile-time.

But of course this requires encoding (possibly binary) files as scheme 
strings, and probably an extra Makefile step to convert file.txt into 
file.scm. This is not attractive -- are there other options?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.