According to R6RS § 4.2.7 and R7RS § 6.7, intraline whitespace (i.e. spaces and tabs) should be allowed between backslash and newline in R6RS string literals.
Guile 3.0.10 does not support this. How to reproduce: $ tr -d '$' > foo.scm <<\EOF (begin #!r6rs (display "Hello \$ mama") (display "Hello \ $ papa")) EOF $ guile foo.scm => ice-9/read.scm:126:4: In procedure read-string: /home/bruno/foo.scm:5:21: invalid character in escape sequence: #\space $ guile --version guile (GNU Guile) 3.0.10 ...