[IPython-dev] Musings: syntax for high-level expression of parallel (and other) execution control

Darren Dale dsdale24 at gmail.com
Sat Sep 5 10:51:53 EDT 2009


On Fri, Sep 4, 2009 at 9:12 PM, Darren Dale<dsdale24 at gmail.com> wrote:
> On Fri, Sep 4, 2009 at 8:00 PM, Fernando Perez<fperez.net at gmail.com> wrote:
>> On Fri, Sep 4, 2009 at 1:53 PM, Edward K. Ream <edreamleo at gmail.com> wrote:
>>> Imo, it is a capital mistake to second-guess or prematurely criticize
>>> excitement and invention.  There are plenty of inventions that can be
>>> simulated by other constructs, but that doesn't make the inventions
>>> useless.  Using decorators rather than functions is a change of view, and it
>>> is most unwise to underestimate the potential of a change in view.
>>>
>>> For example, Einstein did not invent the Lorentz transformation, he "merely"
>>> created a new point of view in which the transformations were something
>>> other than a mathematical hack to make c be constant in all reference
>>> frames.
>>>
>>> Also, it is in no way an abuse of decorators to use them in unexpected,
>>> unusual, creative ways, provided only that you are not relying on some
>>> undocumented accidental feature.
>>
>> Many thanks for the kind words, which to a physicist sound particularly nice ;)
>>
>> Though I do genuinely appreciate solid, critical feedback like
>> Darren's: an idea solidifies from contact with intelligent, if
>> respectful, criticism.  Continuing with the history of physics theme,
>> we can thank Einstein not only for his 1905 papers on the
>> photoelectric effect as giving birth to quantum mechanics, but much
>> more importantly, with his heated and passionate debates with Bohr et
>> al over the Copenhagen interpretation of QM, culminating in the 1935
>> EPR paper, as giving QM its most solid conceptual foundation.  By
>> relentlessly attacking QM with intelligence and creativity, Einstein
>> spurred a debate that helped clarify many ideas that were not well
>> stated at the time (though QM still to this day remains a surprisingly
>> subtle theory for all).
>>
>> I think it's great that we can precisely have this kind of debate
>> here, where an idea is challenged to make it better, yet the challenge
>> is friendly, encouraging and respectful enough that it doesn't stifle
>> creativity or nip potentially good ideas in the bud.
>>
>> I think both you and Darren have provided me today with the best kind
>> of feedback in this spirit, for which I am very grateful.
>
> Coincidentally, Fernando and I were just commenting off list this
> morning about how much we appreciate this kind of discussion. All my
> comments here were meant to be respectful and constructive, to help
> firm up ideas.

I slept on this last night, and this morning when I reread your
original post I had to laugh at myself for taking so long and such a
winding route to understanding and processing all the points you
raised. So thanks for being patient with me. You guys can continue
discussing Einstein, I'll sit here and scratch my stomach.

Do you think there is the possibility of building on this mechanism? I
mean, you have a working demonstration using features that are already
built into the language. Do you think it would be possible/worth
looking into adding syntax to the python language that provided
anonymous code blocks without having to define functions and decorate
them (in the general sense, using either @deco or deco(foo))? I'm
thinking of something similar to the "with" syntax that creates a
scope and allows you to manipulate it. Is there any chance that the
GIL issue could be addressed using such a mechanism?

Darren



More information about the IPython-dev mailing list