[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Python bindings

From: Lele Gaifax <lele_at_nautilus.homeip.net>
Date: 2004-04-29 00:00:26 CEST

>>>>> "Ben" == Ben Reser <ben@reser.org> writes:

    Ben> However, cmpilato never rules out providing an OO interface.
    Ben> He just states that he wants to have the more direct layer
    Ben> available. In fact I think he even said he wanted to work an
    Ben> a more Python like layer on top of the SWIG bindings when he
    Ben> had time.

    Ben> The real difference of opinion here is that you don't think a
    Ben> nice Python-esque interface is possible with SWIG. Which I
    Ben> doubt because the Perl SWIG bindings do have such a nice OO
    Ben> interface and not because SWIG made them for us.

No, what I tried to prove and, due my total lack of time to devote to
it, failed, is that I'm /quiet/ sure that, with much less effort in
time and resources, Pyrex could let cmpilato (and me :) to actually
think at an OO layer, and maybe trying more alternatives and choose
the better one, rather than struggling with the swig way, of writing
awful wrapper code.

Pyrex makes it almost trivial to get that "direct layer", that's
all. It does not prevent it, as I tried to show in my initial,
somewhat snobbed, message that started this thread. It surely frees
lot of time that one could spend on other good things, I guess :)

I do acknowledge that everything is possible, with the right amount of
resources handy. But I can think of very few projects [as popular as
svn] that provide a *good* Python interface using swig.

    Ben> You also seem to think SWIG is a bad choice for Python.
    Ben> While at the same time think it's a better choice for Perl.
    Ben> I have idea why. It's not really any nicer for Perl IMHO
    Ben> than it is for Python. It might be able to do higher level
    Ben> wrapping for us in Perl than Python, but we're not using it
    Ben> anyway because I didn't like what SWIG generated...

Sorry Ben, but no again. It's not a matter of being more powerful for
Perl than for Python. Current Perl bindings are in better shape than
Python's only for the effort spent on them by various people, not
because of swig. That effort is not easily/mechanically reflectible on
the other languages. When swig arrived, it was more thought for
wrapping *old* libraries in a snap, rather than producing something
with an high quality interface.

Admittedly my Perl knowledge faded away, so cannot speak for that, but
for Python I *do* think that the one-to-one mirror cmpilato wanna base
the nicer OO on, that swig should/will provide, is far easily
reachable with Pyrex, and the final product would be a full fledged
first class python module, with documentation et all, rather than an
intricated marshal-in/marshal-out dance.

    Ben> So don't get me wrong. I don't think SWIG is the end all
    Ben> solution. But at the same time it's what we have been
    Ben> working with for a long time.

Yeah, I'm **not** denigrating anyone, be that clear :-) Kudos to all
of you. As I said to you on IRC, I did spent lot-o-time in the past,
doing the matter, luckily very often focused on Python :)

So I do know the effort swig ate you all.

    Ben> It has some advantages.

Like to ear ones :)

    Ben> I think your time would be better spent working on writing
    Ben> the OO layer on top of SWIG.

I really doubt. Been there, done that. Lots of things are missing, and
are difficult/annoying/error-prone to get done with swig and almost
there-for-free with a reasonable timespan spent on Pyrexing the svn
libraries. Believe me, I'd spend the needed time to write a little
parser for the very good svn headers to translate them into pyrex
interfaces (doc et all!!), rather than throwing away my time on swig

I'm really out of time on other projects, so I cannot prove this
(now). I'm really sorry, but that's it.

Thank you Ben,
ciao, lele.

nickname: Lele Gaifax	| Quando vivrò di quello che ho pensato ieri
real: Emanuele Gaifas	| comincerò ad aver paura di chi mi copia.
email: lele@seldati.it	|		-- Fortunato Depero, 1929.
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Apr 29 00:00:47 2004

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.