Dear guile users, The manual, section 6.8.8, presents the eval-when form with an example:
(use-modules (srfi srfi-19)) (eval-when (expand load eval) (define (date) (date->string (current-date)))) (define-syntax %date (identifier-syntax (date))) (define *compilation-date* %date) I take the liberty to add: (display *compilation-date*) (newline) Now, when I save to test.scm and run guile -s test.scm, it gets compiled and it displays the current date. However, if I run this command a second time, the file is not recompiled, but the compilation date changes. Is it intended? If so, this is not exactly what I am looking for. I am looking for a way to run the (date) form during the compilation phase, and save the date to the compilation unit so that it does not change. Is this possible? Best regards, Vivien