<html><head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
</head><body bgcolor="#FFFFFF" text="#000000">Tab Atkins Jr. wrote:
<blockquote 
cite="mid:CAAWBYDC6zSYhcD_+pPiW4OoPw8b7weYKk-HTTQ+=aCyk6uhLSQ@mail.gmail.com"
 type="cite">
  <pre wrap="">No, that's standard.  It's not Pythonic to have comprehensions that
large, as it obscures rather than enlightens, particularly some of
those crazier nested ones that Dave is using.</pre>
</blockquote>
<br>
Dave was translating mostly-mechanically from prior source.<br>
<br>
<blockquote 
cite="mid:CAAWBYDC6zSYhcD_+pPiW4OoPw8b7weYKk-HTTQ+=aCyk6uhLSQ@mail.gmail.com"
 type="cite">
  <pre wrap="">  If your comprehension
doesn't fit in 80chars, you're probably doing something wrong, and
should break it down to a real for loop.</pre>
</blockquote>
<br>
See the original in Python from Peter Norvig, and an 
ES6-with-comprehensions version based on my JS1.8 "port" of Peter's 
original:<br>
<span style="font-family: monospace;"><br>
<a class="moz-txt-link-freetext" href="http://norvig.com/sudoku.html">http://norvig.com/sudoku.html</a><br>
  <br>
<a class="moz-txt-link-freetext" href="http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma_6/Comprehensions/sudoku.js?raw=1">http://mxr.mozilla.org/mozilla-central/source/js/src/tests/ecma_6/Comprehensions/sudoku.js?raw=1</a><br>
  <br>
Did you find Peter's comprehensions overlong? I did not, but that's not 
to say anything about the original is "easy". It's a great read, 
especially in the posted "literate code" form.<br>
  <br>
Beyond the conciseness, comprehensions should afford engines the ability
 to optimize and parallelize. One of the breakthroughs in removing 
comprehensions from ES6 was everyone wanting to generalize from 1 
(Array) to N>>1 (iterables, lazy and eager; ParallelArray; other 
array-likes).<br>
  <br>
Rather than adding mappar or pmap, one can use receiver-dispatched 
methods polymorphically as in JS funky-OOP today, no need for new 
delimiters after [] and () around for/of/if comprehension syntax. We 
really are out of delimiters!<br>
  <br>
/be<br>
</span>
</body></html>