J'ai déjà travaillé sur la génération automatique d'un binding pour wxWidget en OCaml, une solution choisie par l'équipe de wxHaskell et wxEiffel (et que j'ai utilisé), c'est de proposer des entêtes plus documentés pour le typage. Par exemple, si on a besoin d'un tableau arg1 de arg2 wxFrame, et bien, on mets:
#define ArrayOf(Type, X, Y) Type X, int Y
void fun(ArrayOf(wxFrame,arg2));
ça permet de conserver les mêmes en-têtes pour compiler et pour parser (afin dé générer le binding)
Nottez que le plus difficile a sans aucun doute été la gestion mémoire. Si un tel mécanisme devait être conserver pour GTK, un effort tout particulier devrait être consacré à préciser la manière de récupérer les "objets". C'est particulièrement vrai avec les languages disposant d'un garbage collector.
Moralité: ça peut le faire, mais faut penser, en même temps qu'on écrit des libs, à écrire un en-tête amélioré.
[^] # Re: du déjà vu
Posté par François-Xavier Houard . En réponse à la dépêche Toutes les API GNOME dans tous les langages et pour bientôt ?. Évalué à 1.
#define ArrayOf(Type, X, Y) Type X, int Y
void fun(ArrayOf(wxFrame,arg2));
ça permet de conserver les mêmes en-têtes pour compiler et pour parser (afin dé générer le binding)
Nottez que le plus difficile a sans aucun doute été la gestion mémoire. Si un tel mécanisme devait être conserver pour GTK, un effort tout particulier devrait être consacré à préciser la manière de récupérer les "objets". C'est particulièrement vrai avec les languages disposant d'un garbage collector.
Moralité: ça peut le faire, mais faut penser, en même temps qu'on écrit des libs, à écrire un en-tête amélioré.