Intercepting binding?

andrew cooke andrew at acooke.org
Thu Sep 24 08:39:57 EDT 2009


On Sep 24, 5:20 am, Steven D'Aprano
<ste... at REMOVE.THIS.cybersource.com.au> wrote:
> Speaking as a user (although not of Andrew's domain specific language),
> I'd like to say to developers PLEASE PLEASE PLEASE don't try to "help me"
> with half-baked unreliable solutions that only work sometimes.
>
> There's few things worse than unreliable tools that break just when
> you've come to rely on them.

The context is that I am looking at how best to provide debugging
support for a recursive descent parser.  If the actions are pure then
the whole thing is deterministic, so it might be possible to do
something like "buddha" (a declarative debugger for haskell).  I'm
also looking for a paper that was linked to somewhere this last month
or so on one of the popular sites/blogs about debugging prolog (since
the two are closely related - depth first search etc) - I know this is
vague, but if it rings a bell with anyone...  Anyway, doing this in
pure Python makes risks losing the information associated with
variable names.  I was wondering how I might reduce that.

The reason I asked for "unreliable half-baked" solutions is that I am
exploring what might be possible and, in my experience, this group
prefers to lecture me on what they think I should do rather than
answer the damn question.  I was hoping that by explicitly saying that
reliability is not important, people might feel more free to give
"wild" ideas that I could learn from and improve on.

It's significant, depressing, and not at all surprising that every
person who replied to this thread told me, in one way or another, that
was I was asking was wrong or impossible or foolhardy.

If I want your advice on how to write popular tools, you can be sure I
will come and ask you for it.  That is not what I asked for here.

But since we're all passing round unsolicited advice, here's some from
me.

Being an anal retentive will get you a long way in programming.
Dotting the "i"s and crossing the "t"s is 99% of what it's all about.
I agree.  But the last 1% requires a little bit of imagination.  You
should try it one day.

Andrew



More information about the Python-list mailing list