Re: [pygccxml-development] low level vs high level API
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2006-03-07 06:20:42
|
On 3/6/06, Allen Bierbaum <al...@vr...> wrote: > > > > - The high level API is a mere convenience for the user to express > > things more concisely. This API refers to the internal API to > > implement its stuff. Currently, Allen's pypp_api module constitutes > > the high level API. > > If I've understood Roman correctly, I believe his new module_builder_t > > and decl_wrapper classes should already be seen as high level API, > > replacing pypp_api, right? Allen, your pypp_api is the only high level api. I created my class for testers only. > I am confused about this as well. It seems that these classes mix two > ideas: > 1. They provide some of the interface that my high-level API needs to > modify they way creators are created (the injected flags patch I submitte= d) > 2. They also seem to be attempting to draw in some (but not all) of the > capabilities that we were talking about providing to the users in the > high-level API. It seems reasonable that there will be some duplication > here because the high-level API will use some helpers in the low-level > API but I don't think it is a good idea to keep moving things across to > the low-level API. I agree with Matthias's comments below about > separation being a good thing. > > > What I liked before those classes was the strict separation between > > low level API and high level API. It was clear whenever I was using > > something "low level" (a class with _t suffix) and something "high > > level" (from pypp_api or initially also from my own version). This > > distinction has become somewhat blurred and the high level and low > > level stuff have become somewhat intermingled. As there is no > > documentation yet, the only hint would be the sources themselves but > > they don't provide any information whether something is considered to > > be part of the low level or the high level API. > > > > So what I'm missing is documentation about the low level API that > > Allen and I could rely on to experiment with various high level APIs. > > Maybe some ideas will lead to modifications to the low level part of > > pyplusplus but when I was creating my own API version I was quite > > pleased to see that the previous internal API has already allowed > > expressing almost everything I needed. So it was not that bad at all. > > Agreed. I like the idea of you and I refining and expanding the > high-level API while we pepper Roman with ideas, requests, and > refinements for the low-level API. (and as my status update message > describes I think one of the first things I would like to see is > documentation and comments. :) This is exactly what I did: 1. You needed decls printer, right? You wrote it. This was greate piece of source. I put it within declarations and declarations wrappers 2. You needed some search algorithm with power of customization of search criteria, right? I took Matthias ideas and some code and added it to pygccxml.declaration= s The first place user will look at, in order to see how can he find some declaration, am I wrong? 3. You needed multi-declaration wrapper, right? It took me few days to find out how can we use Python, in order to provide best implementation to the class. I think that I am not able to design high level API. So please, please go ahead and do it. > -Allen -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |