> Again, being able to do it in Python syntax will save developers the<br>
> hassles of having to learn non-Python DSLs.<br>
<br>Hmm. For your GqlQuery example, the way I see it doing it in Python syntax will save the hassle of GqlQuery optimizing the database access. The truth is that you don't know what happens to the query string but you do know that it can't take your function apart and have the database process it. So this example is useless.<br>
<br>I also can't tell if using/do is supposed to be a loop or not. Some of your examples are loopy and some aren't.<br><br>And besides that your examples are apples and oranges:<br><br> composer = "Lennon, John"<br>

  query = GqlQuery("SELECT * FROM Song WHERE composer = :1", composer)<br>
<br>
with:<br>
<br>
  composer = "Lennon, John"<br>
  using Song.query do (item):<br>
      if item.composer == composer:<br>
          return item<br><br>The first one produces a result: something bound to a variable named query. What does the second one produce? I see no advantage in a new syntax that is this confusing.<br><br>--- Bruce<br>