Which scripting language to support in an existing codebase? | I'm looking at adding scripting functionality to an existing codebase and am weighing up the pros/cons of various packages. Lua is probably the most obvious choice, but I was wondering if people have any other suggestions based on their experience.


Scripts will be triggered upon certain events and may stay resident for a period of time. For example upon startup a script may define several options which the program presents to the user as a number of buttons. Upon selecting one of these buttons the program will notify the script where further events may occur.


These are the only real requirements;


1. Must be a cross-platform library that is compilable from source
2. Scripts must be able to call registered code-side functions
3. Code must be able to call script-side functions
4. Be used within a C/C++ codebase.