On Fri, Feb 21, 2020 at 9:26 PM Steven D'Aprano <steve@pearwood.info> wrote:
> And what's so special about SQL over, say, regular expressions, XML,
> JSON, YAML, Markdown, ReST, LaTeX, etc? I might want to use the s''
> prefix for embedded Scheme code rather than SQL.

Um, regular expressions are not precisely the best example there, since
we do have raw strings specifically for regular expressions.

I mentioned them also in my similar list, but deliberately.  *Raw strings* are not per-se for regexen, even if that is one of the more common uses.  That said, I wonder why no text editors I know of try special highlighting of `r"..."` strings.  We already (often) have that hint that the quoted thing might be a regular expression.  Maybe it's just that those patterns are so densely coded that adding colors doesn't really help.

Doing a search, the only editor I find easily that seems to highlight regexen is JetBrains Rider.  The examples it shows look kinda-sorta useful.  Probably someone made a plugin or something that does it elsewhere.

Here's another idea that is purely convention, as the comment convention is.  Use functions!  They are just cruft from a runtime point-of-view, but they provide a really obvious hint to IDEs or other tools:

SQL = REGX = XPATH = MD = lambda s: s
pat = REGX(r"\$\d{1,10}.\d{2}")
sql = SQL("SELECT foo, bar FROM table WHERE baz > 42;")
query = XPATH("/bookstore/book[1]/title")

These decorations are doing nothing functionally, but they would be easy for any IDE that wanted to to look for.  This is completely extensible to any mini-language that might occur in strings.  You'd just need some sort of configuration for the editor to know how to look for and highlight each syntax.

I kinda like the look of this better than the end of line comment (which gets more complex to figure out with multi-line, triple-quoted strings.  The function just handles that automatically.  Of course, those functions *could* do something more than identity if they wanted to.
But the rest of the list is still valid. Why is SQL more important than
any other language or text for
mat? I don't think it is.

I might even go so far as saying SQL is more important than any other SINGLE other embedded language.  But out of the hundreds, it's nowhere close to a majority.
Keeping medicines from the bloodstreams of the sick; food
from the bellies of the hungry; books from the hands of the
uneducated; technology from the underdeveloped; and putting
advocates of freedom in prisons.  Intellectual property is
to the 21st century what the slave trade was to the 16th.