5% of 666 Python repos had comma typo bugs (inc V8, TensorFlow and PyTorch)
Not in Lisp! ("foo" "bar") and ("foobar") are lists of length 2 and 1, respectively.<p>(Python copies some bad ideas from C. Another one is having to <i>import</i> everything you use. It seems that since Python is written in C, its designer took it for granted that there will be something analogous to #include for using libraries, even standard ones that come with the language.)<p>Implicit string literal catenation is tempting to implement because it solves problems like:<p><pre><code>   printf("long %s string"
          "nicely breaks up"
          "with indentation and all",
          arg, arg, ...)
</code></pre>
and if you're working in a language which has comma separation everywhere, you can get away with it easily.<p>There are other ways to solve it. In TXR Lisp, I allow string literals to go across multiple lines with a backslash newline sequence. All contiguous unescaped whitespace adjacent to the backslash is eaten:<p><pre><code>  This is the TXR Lisp interactive listener of TXR 273.
  Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
  TXR needs money, so even abnormal exits now go through the gift shop.
  1> "abcd \
      efg"
  "abcdefg"
</code></pre>
If you want a significant space, you can backslash escape it; the exact placement is up to you:<p><pre><code>  2> "abcd\ \
      efg"
  "abcd efg"
  3> "abcd    \
     \ efg"
  "abcd efg"
  4> "abcd    \ \
               efg"
  "abcd     efg"
  5> "abcd    \ \
     \         efg"
  "abcd              efg"</code></pre>