tech-userlevel archive

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

Re: Lua as a scripting language in NetBSD



On Sun, Oct 18, 2009 at 03:50:46PM +0200, Marc Balmer wrote:
>
> Am 18.10.2009 um 15:13 schrieb der Mouse:
>
>>> Finding one good ("best" is subjective, we shouldn't be seeking that)
>>> scripting language to include in base seems like it might have
>>> advantages, [...]
>>
>> We've already got two or three good scripting languages in base (for
>> lots of use cases' values of "good"; there are use cases they're a  
>> poor
>> fit for, but that's true of any language).  Do we need more?

I think yes.  We don't have anything that's easy to embed in programs
written in other languages.  One nice solution might be awklib built
from our awk, and I could live with that, but I think Lua is considerably
better in several respects.

I don't think what Marc means by 'scripting language' is "language for
scripts to be invoked like executables from the command line".  I think he
probably means something more like "language for scripting the built-in
functionality of other applications".  Lua is meant for this and it is
very good at it.  It is also small and fast and has a suitable license.
It is even practical to embed Lua in the NetBSD kernel, probably even
including the Lua JIT -- which offers considerable benefits for a number
of interesting applications like stateful packet filters.

>> I don't know Lua.  But, based on what's been said here, it sounds to  
>> me
>> like a solution looking for a problem in this context.  Even assuming
>> its touted attributes are real (eg, small libraryable runtime), do we
>> really have a need for such a thing?  I certainly don't recall anyone
>> wishing out loud that we had, for example, an embeddable programming
>> language with a small runtime.

I have a need for such a thing, both in userspace and the kernel.  I
"wish out loud" about it quite regularly, both among other NetBSD
developers and among my coworkers.  And I have heard similar things
from several other NetBSD developers who are or have been involved in
building certain types of products from NetBSD.  I suspect we have all
not been "wishing out loud" where you could hear it (i.e. here) because
none of us have been in the mood for a religious war with the partisans
of various large languages with huge runtimes which are hard to cross
build -- or even certain small languages with small runtimes but
unsuitable licenses and low performance (can anyone say "guile"? ;-).

Almost everyone I've run into who's considered this problem at any
length has eventually converged on Lua as the likely best solution.  I
was a significant partisan of awk for this purpose originally -- but
I have been persuaded.  Look at Lua, play with it, and think about some
of the things you could do with it embedded in other programs and I
suspect you may eventually be as well.

> One goal of my initial mail is to see whether other developers could  
> (and would) make use of it if we had it.  Once I collected a few more  
> ideas and feedbacks, I can work on a more elaborate proposal.

Yes, yes, yes.  And I can probably devote some resources (my time and
that of others) to maintaining it in the kernel as well, if we are
heading in that direction.

-- 
Thor Lancelot Simon                                        
tls%rek.tjls.com@localhost
    "Even experienced UNIX users occasionally enter rm *.* at the UNIX
     prompt only to realize too late that they have removed the wrong
     segment of the directory structure." - Microsoft WSS whitepaper


Home | Main Index | Thread Index | Old Index