[Python-Dev] Enable access to the AST for Python code

Ethan Furman ethan at stoneleaf.us
Fri May 22 03:33:20 CEST 2015


On 05/21/2015 05:28 PM, Greg Ewing wrote:
> Ethan Furman wrote:
>>
>> I think the key difference is that the AST is not going to be
>>  converted to run different Python code under Python, but under
>>  some other language -- presumably to implement the semantics of
>> the Python snippet.
>
> If the semantics were exactly the same as the Python
> snippet, there would be no need to convert it to another
> language -- you might as well just run the Python
> code as-is.

Going back to the OP:

> Context: PonyORM (http://ponyorm.com/) allows you to write regular
> Python generator expressions like this:
>
>     select(c for c in Customer if sum(c.orders.price) > 1000)
>
> which compile into and run SQL like this:
>
>     SELECT "c"."id"
>     FROM "Customer" "c"
>     LEFT JOIN "Order" "order-1" ON "c"."id" = "order-1"."customer"
>     GROUP BY "c"."id"
>     HAVING coalesce(SUM("order-1"."total_price"), 0) > 1000

That last code is /not/ Python.  ;)

--
~Ethan~


More information about the Python-Dev mailing list