Mandis Quotes (aka retiring """ and ''')
From: Russell Nelson (nelson_at_crynwr.com)
Date: 10/04/04
- Next message: Carlos Ribeiro: "Re: should these be fixed for python 2.4?"
- Previous message: Thomas Guettler: "Re: cgi long running jobs"
- Next in thread: exarkun_at_divmod.com: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: exarkun_at_divmod.com: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Jeff Epler: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Jeff Epler: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Andrew Dalke: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Bengt Richter: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Eric Pederson: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: David Fraser: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: gabriele renzi: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Russell Nelson: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: EP: "Re: Mandis Quotes (aka retiring """ and ''')"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: 4 Oct 2004 07:45:54 -0700
Jef Raskin (namedropping) has pointed me at a neat scheme for quoting
arbitrary textual matter called "Mandis quotes". Since google is
ignorant of the phrase, I presume that Jef made it up. It is
disgustingly simple, and very Pythonesque. Here's how it works: If
you have a string that doesn't have any single quotes in it, you
surround the string by a pair of doubled single quotes. ''Like
this''. No backslash interpolation. If you want a character in
there, you put it in there (yes, I know, stand down your armies).
Clearly, then, any character except a single quote can go into one of
these strings. If you need to put a single quote in, then you put
an arbitrary string in-between the single quotes which does NOT
appear in the string. For example, "Bill's house" becomes
'x'Bill's house'x'.
More formally, a mandis quote is a pair of tokens surrounding a
completely arbitrary sequence of bytes. These tokens are comprised of
a possibly null sequence of characters preceded by and followed by a
single quote.
To save time, here's why this pre-PEP proposal sucks in decreasing
order of severity:
o Python source is typically represented, not as an arbitrary string
of ASCII or Unicode characters, but instead as a sequence of lines
separated by the native line terminator (e.g. CRLF, LF, or CR).
o Editors are not all up to the task of inserting arbitrary
characters into strings (although they SHOULD).
o Email cannot withstand arbitrary strings of characters (although
quoted-printable suffices).
o Some distinct Unicode characters are represented using the same
glyph, so that information is lost when text gets printed (but
that's more of a Unicode stupidism.)
Obviously, the justification for it is that it eliminates ", ', r",
r', """, and ''' from the syntax, replacing them by a single 'x' that
suffices for everything. Makes the code easier to read (only one
visual element), easier to parse, and easier to write, because you
don't need to decide which literal method to use.
- Next message: Carlos Ribeiro: "Re: should these be fixed for python 2.4?"
- Previous message: Thomas Guettler: "Re: cgi long running jobs"
- Next in thread: exarkun_at_divmod.com: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: exarkun_at_divmod.com: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Jeff Epler: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Jeff Epler: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Andrew Dalke: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: Bengt Richter: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Eric Pederson: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: David Fraser: "Re: Mandis Quotes (aka retiring """ and ''')"
- Reply: gabriele renzi: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: Russell Nelson: "Re: Mandis Quotes (aka retiring """ and ''')"
- Maybe reply: EP: "Re: Mandis Quotes (aka retiring """ and ''')"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|