lua-users home
lua-l archive

Re: tolua survey

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> 2002年11月25日 15:19:54 -0200
> Luiz Henrique de Figueiredo <lhf@tecgraf.puc-rio.br> wrote:
>
> We're trying to decide the future of tolua and we'd like to hear your opinion.
> If you use tolua (or something else) to automatically bind C or C++ code to Lua,
> please fill in the brief survey below and send it directly to us at
> lua@tecgraf.puc-rio.br .
> 
> Thanks for your time.
> --lhf and celes
> 
> * Do you use tolua? If not, do you use any other wrapper?
Yes, I start using it now for our new major release instead of custom
bindings which demanded lots of code. I created a wrapper I called
LuaBind with a few "keywords" in C which parses a marked up C header
(still valid C), generate a pkg description and pipes it to tolua.
May be this could be one solution for the wishes of several people
here which do want to maintain exactly one source as C/C++ header and
Lua binding description.
I dived a little bit into swig. What I really like with swig is the
ability to generate wrappers for different languages. However, there
seem to be some caveats:
* those guys did several major rewrites of the code, on the way changing
 its purpose -- e.g. they dropped the documentation system. A possible 
 reason is that, initially, they wanted put too much stuff into it.
* Lua support is not well developed. Of course, a little engagement in
 that community could solve the probelem, at the other hand ther seems 
 to be quite intense proces of API changes, so this investment is possibly
 not save.
* At present, swig does not allow co-existence of two or more language 
 bindings in one executable -- this is mainly an issue of namespaces
 of linker symbols. 
So I decide to stick to tolua, as it does the job. Using some COM style
refcounting in C, it was possible to put all C objects exposed to Lua
under garbage collection.
 
> * Do you use tolua for C or C++?
Currently C, but C++ is not excluded for the future.
> * What features do you miss in tolua?
Support. It seems to be less well supported than Lua itself.
Concerning the other stuff, I trust you guys that you would do a good
job on it as you did with Lua itself :-)
> * How could tolua be improved?
Most suggestions are already in the thread:
- parse headers -- possibly tagged somehow -- instead of pkg files. 
 The main issue however is to be able to maintain one source for interface
 description. So in principle, we could go vice versa: Maintain an
 Interface Description and extract C headers as well as Lua bindings 
 from that one. This rings a bell in my head: CORBA IDL is some standard
 in this field...
- Make type checking optional. 
- Do something with documentation. But be careful (see the swig stuff above) --
 Possibly more important it is to keep things small, modular and orthogonal.
SUMMARY
I believe that tolua is a good tool, and it is worth maintaining it as
it allows quite painlessly to glue Lua and C in a professional manner,
which for me is the main issue with Lua. 
Juergen Fuhrmann
 Numerical Mathematics & Scientific Computing
 Weierstrass Institute for Applied Analysis and Stochastics
 Mohrenstr. 39 10117 Berlin fon:+49 30 20372560 fax:+49 30 2044975
http://www.wias-berlin.de/~fuhrmann mailto:fuhrmann@wias-berlin.de

AltStyle によって変換されたページ (->オリジナル) /