This document outlines the principles that drive the development of ChaiScript. ChaiScript does not intent to be the perfect tool for every situation, but it does intend to be a good general purpose tool for most situations.
- Trivially easy to integrate with C++ projects
- 0 external depenencies
- "Perfect" integration with C++
- Direct mapping between ChaiScript objects and C++ objects
- Direct mapping between ChaiScript functions and C++ functions
- Direct mapping between ChaiScript exceptions and C++ exceptions
- Never surprise the C++ developer
- Object lifetimes managed by the stack
- Familiar syntax to C++ developers
- Perform "well enough" to not get in the way
If you are looking for the fastest performing scripting language and don't mind Lua, you might want to consider sol2.
If you are looking for the most flexible solution to be able to support multiple target languages, consider SWIG