This is a good overview of the design goals of Lua and some insight into how Lua approaches a variety of programming concepts.
Lua has a unique set of design goals that prioritize simplicity, portability, and embedding. The Lua core is based on three well-known, proven concepts—associative arrays, first-class functions, and coroutines—all implemented with no artificial restrictions. On top of these components, Lua follows the motto “mechanisms instead of policies,” meaning Lua’s design aims to offer basic mechanisms to allow programmers to implement more complex features.
I find Lua interesting. I wish there was a good iOS implementation to play with.