Currently .go files embed randomly-generated symbols stemming from ‘syntax-session-id’, which prevents reproducible builds (see <https://lists.gnu.org/archive/html/guix-devel/2013-09/msg00159.html>.)
One way to fix it would be to allow users to specify a random seed used when generating session ids, and to make that available as a command-line option to ‘guild compile’. (GCC does something similar with its ‘-frandom-seed’ option.) Probably, ‘syntax-session-id’ would have to be a SRFI-39 parameter and we would need a ‘fresh-syntax-session-id’ procedure that would take a seed as a parameter. In turn, ‘fresh_syntax_session_id’ would need to take that extra argument, and it would need to be changed to not read directly from /dev/urandom. WDYT? Ludo’.