[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] add xl ocaml bindings
I did some investigation on python bindings. It seems the best way today is using ctypes. There are a few tools to autogenerate the bindings, but in my mind, the best way is: generate at first time and then make some changes and maintain it manually. I think user readability is most important. And I was thinking xl should written in python. Thanks, Zhigang On 06/28/2010 07:30 PM, Vincent Hanquez wrote: > On 28/06/10 10:59, Ian Campbell wrote: >> Not really a comment on this patch as such but more a related thought... >> How many language bindings do we think there are going to be and how >> much effort do we expect it would be keeping them all (or even just the >> interesting subset) up to date? >> > I'm not sure if you're asking generally in terms of languages or in > terms of bindings. I think from the point of view of bindings, that was > the only thing left that required a binding. in terms of language, I > don't really know if anyone is going to add some python bindings or not. > it depends if xend is going to die, or is going to be ported. > > effort wise, it's hard to answer since it depends on lots of variables. > for example, API stability of libxenlight. > >> Is it worth investing the time up front to define a (simple) IDL and to >> generate the C header and language bindings from that? >> >> Are there any existing IDLs which would meet our needs? >> > Theoretically, yes. pratically there's no IDL that i know of, that > generate anything remotely close to be good or even useful. (it's maybe > no surprise that all the python bindings are not autogenerated either) > > swig seems to generate bindings really close to the C layer which make > it quite annoying since the ml glue code become quick thick and quite > annoying to write (converting back and forth types) and i've never > actually tested the output of swig, and last time i tried camlIDL on a > simple example, it generated a code that would segfault. > > one more thing about generic bindings generator, is that it's hard to > provide nice and clean interfaces. most of the time you stay really > close to the C layer, which defeat the whole point of using a high level > language for the user. > > FYI, I've rewritten a little program to help me generate the bindings > actually, but yet, it's quite painful to get right (and it's not in any > Xen-friendly language either), and in the end i decided to take some of > the output and fix it up by hand. in any case, it's really really far > from having a automatic "./program idl > code" step in the code. > >> the libxl interface from needing to know enough about each language to >> fixup the bindings (or else they may break the build). At least in the >> normal case where the change does not require a change to the IDL then a >> simple regeneration should be enough to update the bindings for the >> change. >> > hopefully in most cases, as long as everything doesn't change too badly, > adding fields is relatively easy even for someone that doesn't know ocaml. > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |