On 12/08/2011 07:30 AM, Evan Nemerson wrote:
It would be great if someone write vapi for CTPP2 ( http://ctpp.havoc.ru/en/ ) template parser. It's more "clean" and is very fast indeed, with precompile, includes, etc.. (that willallow using templates compiled inphp, perl, python, etc).Looks cool. However it written in C++ and not used glib. Not sure how vala deals with such stuff.Not using glib isn't really an issue, but C++ is.
I supposed so.
I currently working on vala bindings for ctpl[1]. Ctpl uses glib and also cashes token tree in memory. Not sure about speed but it will be easier to reuse from vala.CTPL looks interesting, but it is GPLv3+, which is going to be a deal-breaker for a *lot* of software.
AFAIK GPL restrictions is irrelevant in server side context. GPL not forces You to share unless you distribute your program. AGPL do if I understand correctly. However GPL3 restrictions may become true for embedded devices... I going to implement Valum.App.render() functon so that you can use multiple rendering engines at the same time.
Another option is Clearsilver. I used it a while back (circa 2008) in a Vala project via a very thin C wrapper (mostly just to add reference counting, IIRC). Looking at it now I don't think it would be too difficult to create Vala bindings for Clearsilver... the API is a bit unpleasant at times, but you could at least use it as the basis of a nice Vala wrapper. FWIW, I could probably be convinced to write the vapi.
That would be awesome, Evan :) It worth to be done! Today we have no templating libs for vala at all. Hovever in Valum we can use lua to render haml templates :)
Currently i've added autotools support for .gir generation and going to add some annotation in order to get .gir file convertable to vapi.Why not just have valac output a vapi directly (i.e., --vapi foo.vapi)? Or are you talking about bindings for a C library?
Yes, CTPL is in C and it does not have any annotations. Almost all properties of resulted .gir are introspectable="0" so vapi generated by vapigen is almost empty :) So I going to dig deeper in all this introspection/annotations stuff. -- antono
Attachment:
signature.asc
Description: OpenPGP digital signature