[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Short function definition syntax; thoughts on Lua (was Re: [ANN] GSL Shell new beta release...)
- From: Robert Raschke <rtrlists@...>
- Date: Fri, 4 Dec 2009 09:04:13 +0000
As far as I can see Lua is first and foremost an embeddable scripting language. That it is useful as a programming language in its own right is down to the clean design of the language, and the ease with which third-party libraries can be incorporated.
For myself, the major success of Lua lies with its focus on configuration. The ability to use the Lua syntax with additional functions and values defined by myself to create a domain specific configuration language that is easy to create, use, implement and roll out the door.
Functional programming languages are great and I use them all the time (SML, Erlang, J, Haskell, Scheme), but these are not great for solving my problem of configuration (never mind C, Java, etc.). Yes, I can do it it any of them, but not with as much fun!
Sine Lua is so easily embeddable (and allows other stuff to be embedded within itself), why not go all out multi-paradigm and glue together some languages? Allow calling into Haskell from Lua, make Lua callable from Haskell. Have a nice boundary between the two systems that allows you to use the appropriate technology for your problem. Don't create the one true language! Use them all!
And, no, I've not felt constrained by function (x) return x*x end instead of \x->x*x so far.