On Sat, 27 Nov 2010 16:09:57 +0100, "Hans-Peter Jansen" <[email protected]> wrote: > On Monday 22 November 2010, 17:06:01 Phil Thompson wrote: >> I've added a roadmap for SIP v5 at... >> >> http://www.riverbankcomputing.com/software/sip/roadmap > > From the latest experience with PyQwt (with the still unexplained issues
> related to switching off a feature: see thread "[PyQt] sip snapshot > problem with PyQwt"), one problem was a single dangling %End directive. > > While better error messages are greatly appreciated, I expect locating > such problems will still going to be tough in a big library, because of > the inherent ambiguity. Wouldn't unambiguous %End directives allow for > much easier formal consistency verification > (e.g. %EndIf, %EndTypeHeaderCode, %EndMethodCode, etc..). Yes, but I think it looks horrible. I've never had the problem myself and nobody has raised it as an issue before. However if I now get floods of emails saying "if there is one thing I hate about SIP it's..." then I'll reconsider. > @all: > How could class templates be supported in an easier way? As far as I > understand it, one has to specify all different types one by one. How > about a %TemplateTypes directive? You only need to specify explicit code when the template arguments are non-class types (eg. int, char *). This is because the Python C API calls you have to use are different for each of those types. It might be possible to implement a template based sub-library that allows you to write just one piece of code that implements (for example) QList<int>, QList<double>. However that can be added later without affecting the migration of SIP v4 to v5. > Some thoughts for (Meta-)SIP v6: I haven't said this but I intend to provide a reimplemented MetaSIP sometime after SIP v5 is done. > - transformation tool for gccxml output to sip This is what the current (internal to Riverbank) MetaSIP does. A new version will allow other front ends in addition to gccxml. > - automated timeline/version management, based on gccxml output of > different project versions The current MetaSIP does this. > - template based mix-in controller for injecting various directives, > annotations, code segments targetting automated sip generation That's a lot of handwaving :) There will certainly be the ability to define and apply heuristics. The current MetaSIP does this for the names of function arguments for example. Phil _______________________________________________ PyQt mailing list [email protected] http://www.riverbankcomputing.com/mailman/listinfo/pyqt
