[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: tolua survey
- From: Juergen Fuhrmann <fuhrmann@...>
- Date: Wed, 27 Nov 2002 10:47:44 +0100 (MET)
> Mon, 25 Nov 2002 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