Mike wrote:
> > This exactly is my point: The example you gave is awkward because the
> > 'here identifiers' you use are multi-line. With one-liners I could
> > print the stuff like this:
> >
> > (define |+ps:foo+| (|+ps:baz+|))
>
> So is it fair to say that you don't want "here symbols" but rather an
> alternative to | ... | for writing down identifiers?

Yes.

> It still seems to me you're doing a simple kind of encoding, albeit a
> simple one.  After all, you still need to choose a delimiter character
> (rather than a delimiter string as with here strings) that doesn't
> appear in the identifier.  


Correct, but most [all?] grammars for identifiers I know leave some
characters out that can be chosen as delimiter, e.g. '+', 'å' or ' '.
So in practice, you do not really inspect the identifier at all.

> If that's the case, why is it a problem to
> simply let WRITE-on-a-string-port (as suggested by Matthew) figure out
> the quoting for you?

Two reasons:
1. The language that needs to do the quoting (e.g. PostScript) might not have a WRITE-on-a-string-port at all.
2. Scheme is one of those languages.

Sebastian.