This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: A useful syntax for regexps and other things


| From: Mikael Djurfeldt <mdj@nada.kth.se>
| Date: 26 Oct 1997 20:19:49 +0100
| 
| Maciej Stachowiak <mstachow@mit.edu> writes:
| 
| > Here are some examples of the #q
| > syntax in action:
| > 
| > guile> #q/some funny \\ weird string\/
| > "some funny \\\\ weird string\\"
| > guile> #q%any delimiter %% will do %
| > "any delimiter % will do "
| > guile> #q@This is a weird \* \\.* x? regexp@
| > "This is a weird \\* \\\\.* x? regexp"
| 
| If we're going to extend the read syntax, I'd prefer the scsh variant:
| 
|   #</some funny \\ weird string\/
| 
| In scsh, one can also say
| 
|   #<<END
|    A line-delimited here-string!
|   END

I should have mentioned that, since I added it to the port of scsh
recently:

guile> (load-from-path "scsh/init")
guile> #</some funny \\ weird string\/
"some funny \\\\ weird string\\"

but:

guile> #<%any delimiter %% will do %
"any delimiter "
ERROR: In expression %:
ERROR: Unbound variable: %
ABORT: (misc-error)
ERROR: In expression will:
ERROR: Unbound variable: will
ABORT: (misc-error)
#<primitive-macro! do>
ERROR: In expression %:
ERROR: Unbound variable: %
ABORT: (misc-error)

If it's worth adding to guile-core, then an independent implementation
is likely to be needed since the scsh code is legally incompatible.