From: Bill Atkins
Subject: Re: Vertical bars and the lisp reader
Date:
Message-ID: <87slnonnwc.fsf@rpi.edu>
"Jonathon McKitrick" <···········@bigfoot.com> writes:
> I've not seen hardly anything about the vertical bar notation. Would
> someone sum up, or point me to a document that explains it?
It interns a symbol literally, without any upcasing or any other kind
of transformation. It also lets you use symbols that would otherwise
be illegal - e.g. '|eee)ee| which would fail if not enclosed within
vertical bars.
Frank Buss's link to the Hyperspec can help.
--
This is a song that took me ten years to live and two years to write.
- Bob Dylan
Jonathon McKitrick wrote:
> I've not seen hardly anything about the vertical bar
> notation. Would someone sum up, or point me to a document
> that explains it?
http://www.lisp.org/HyperSpec/Body/sec_2-1-4-5.html
http://www.lisp.org/HyperSpec/Body/sec_2-1-4-5-1.html
Surrounding a symbol (or part of one) with vertical bars
prevents upcasing and allows the inclusion of characters
that normally couldn't be in a symbol. To include a
vertical bar or a backslash, precede it with a backslash.
[1]> (symbol-name '|foo|)
"foo"
[2]> (symbol-name '|)|)
")"
[3]> (symbol-name 'f|o|o)
"FoO"
[4]> (symbol-name '|foo\|bar|)
"foo|bar"
[5]> (symbol-name '|foo\\bar|)
"foo\\bar"
[6]> (symbol-name '|foo"bar|)
"foo\"bar"
--
Aaron
Jonathon McKitrick wrote:
> I've not seen hardly anything about the vertical bar notation. Would
> someone sum up, or point me to a document that explains it?
Do you mean the Sharpsign Vertical-Bar reader macro?
http://www.lisp.org/HyperSpec/Body/sec_2-4-8-19.html
--
Frank Buss, ··@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de