Re: [pygccxml-development] Future of pypp_api...
Brought to you by:
mbaas,
roman_yakovenko
|
From: Roman Y. <rom...@gm...> - 2006-08-20 18:30:40
|
On 8/20/06, Matthias Baas <ba...@ir...> wrote:
> > I did not created another Pyste, Py++ will never be another Pyste.
>
> I think that's what Allen meant when he said that he (or rather, we) and
> you have different goals.
I am one of the biggest user of Py++. I have same goal as you.
> Of course, I do agree that creating bindings using py++ can be done
> faster and more "complete" (would I be using it otherwise?).
> But the reason why Pyste fails in this respect is *not* because its API
> concept cannot deal with those things, it's rather that its backend is
> not as powerful as py++.
I don't agree with you. Pyste always works with single header file.
I am almost sure, that is not possible to extend Pyste API to work on whole
project.
> I think its API concept is pretty easy to grasp
> and more intuitive and easier to use than py++. So the ideal solution
> for me (and I suppose for Allen as well) is having the API concept from
> Pyste in combination with py++ as its backend. Basically, this is what
> pypp_api is trying to accomplish (and so far, I'm quite pleased with it).
Your situation is not different from my. I am not pleased with pypp_api,
but I do pleased with Py++. But still I am willing to work on this.
>
> As pypp_api was created by Allen and me, I guess you can simply have a
> look at it to see our "suggestions".
May be I missed something, but Py++ contains all non problematic functionality
found in pypp_api.
> I consider the functionality from pypp_api (or in your case
> module_builder_t + related classes) to be the high level API.
related classes are: decl_wrappers + pygccxml.declarations, right?
> > 2. This will never work. He should know at least what is declarations
> > and declarations tree ( pygccxml.declarations package )
>
> He only has to understand the concept, but not the details (how to
> traverse the tree, the exact types of the nodes, etc.). The high level
> API already provides an interface to deal with that tree.
May be I miss something, but ( I am not arguing here but ask you to point me
to the mistakes )
1. Where I force him to know how to traverse the tree?
2. Why do you think that user should not understand on what declaration set
he is working on?
> >> * Provide access to all the power of pypluplus and pygccxml *if* the
> >> user wants it
> >
> > What do you mean? To introduce 3 module builders ( beginner,
> > intermediate and power user ) ?
>
> No, for example in the case of pypp_api you can obtain the declaration_t
> objects that belong to a particular query result. In most cases you
> don't need them because you can use the API provided by pypp_api, but
> should there be a case where this API is not sufficient, you have the
> option to "go down" and work directly on the py++ declaration objects.
Can you point me to the user code, I want to be sure I understand you right.
> Another example is the code creator tree. Usually a user doesn't need
> this tree and doesn't even have to know that this tree exists, but
> should there be a case where a user has to inject his own code creators
> he can do so by intercepting the code creator tree generation and do his
> own modifications to it (using the "low level" py++ interface) before
> pypp_api proceeds with writing the files.
It is not completely true. User should understand, that after some
point he can not
work on declarations. pyplusplus.module_builder_t class explicitly defines this
point.
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
|