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

Reply via email to