Iäm unsure but if the first pass of the files is 1. read in form by form 2. macro expand
then evaluated. If read-enable is a function it will not be executed at the macro expansion of the file. However for the use-module part guile will load the module at expansion time. Regards Stefan On Fri, Apr 28, 2017 at 4:14 PM, sidhu1f <sidh...@gmail.com> wrote: > Could someone please explain the following seemingly counterintuitive > behavior regarding the r7rs syntax for symbols (symbol #foo is > expressed as |#foo| using r7rs syntax, more info in sec.6.6.6.6 of guile > ref. manual). > > When I invoke 'guile -s' on a file containing: > > (read-enable 'r7rs-symbols) > (display (symbol->string '|#foo|)) (newline) > (use-modules (test-r7rs)) > (display (symbol->string '|#foo|)) (newline) > > guile 2.2 outputs: > > |#foo| > #foo > > Why the discrepancy? The module (test-r7rs) file contains: > > (define-module (test-r7rs)) > (read-enable 'r7rs-symbols) > > Essentially, I'm asking why guile displays the symbol incorrectly (|#foo|) > in the first case but correctly (#foo) in the second. > > Thanks > Reetinder > >