Ralf Schmitt wrote:

Brian Kelley schrieb:
Well, I should get off my butt here.   I agree that the metakit
interface needs to be rewritten and I have started a swig'd version
that is going slowly.  The first pass is a "low-level" interface that
acts like C++.  If anyone wants to help me flesh it out, I'll start a
sourceforge repository so we can make the second pass to be more
pythonic.

After working a bit with the existing codebase, I thought the best thing to do, was to clean it up a bit, remove some C++ magic and be done with it - after all this is working code. JCW is a bit quiet on this topic and so my motivation to heavily patch the python interface is near zero as this makes integrating patches made in the metakit cvs repository a pain in the ass.

Quiet, but definitely interested. I decided to wait a bit to gauge what the response is - besides, I'm afraid to stifle any good initiatives.

I don't know what the barrier is for fixing things and altering whatever needs to be improved. Gordon's code was written a long time ago, and from what I remember he wrote the SCXX wrapper to simplify the Mk4py wrapper (there was an older very crude wrapper by me, ages before that). SWIG wasn't good enough to wrap MK's C++ code back then, but no doubt it'll be much better at it now.

Have got no personal preference w.r.t. tweaking Mk4py vs. creating a new Python wrapper over a SWIG binding. I can see some pro's and con's either way.

In terms of integrating changes, I can't open up the equi4.com site to CVS check-in, but the least I can do is accept patches and changes on the existing CVS repository (there's now also a CVStrac web-based issue tracker which may help ensure that no details fall through the cracks). For a more concerted collaborative effort, I agree that the current public project sites offer more flexibility.

You know Joel's attitude on this topic?
http://www.joelonsoftware.com/articles/fog0000000069.html

Spot on. I feel that pain EVERY DAY, in my work on the Vlerq project (which is very much alive, but essentially a one-man effort).

Looking forward, I would think that a Python-code-on-top-of-a-thin-C/C ++-binding has the most chances of creating a really good fit for the language. I see my task as coming up with an engine and a bunch of super-thin C bindings, letting different language experts create a good fit for each case. In my experience, both tasks are hard and totally complementary. I'm limiting myself to the first part in Vlerq, and have added core C bindings for, in chronological order: Tcl, Python, Ruby, and Lua. I'll also add that the Vlerq code is work-in-progress and not ready for prime time. Some thoughts on this subject are at http://www.vlerq.org/vqr/318

So on the one hand, the core Metakit C++ code is unlikely to ever go through any further major revisions, making tweaks to what there is a sensible option. On the other hand, creating a new very Pythonic wrapper may lead to something which can one day be migrated to use a new engine from the Vlerq project. Beware of coding things too generally in an attempt to cover all bases today, though. It seems to me that the main challenge for a Python wrapper is to present a model that works fantastically well in Python - actual code can easily be changed later, even if it was written completely towards either the current Mk4py or Brian's SWIG binding.

Maybe the answer is not either/or?

-jcw

_____________________________________________
Metakit mailing list  -  Metakit@equi4.com
http://www.equi4.com/mailman/listinfo/metakit

Reply via email to