ChaiScript is an embedded scripting language for C++ designed from the ground up to be easy to use by the C++ developer.
minor feature: MSVC 2015 or greater. g++ 4.9 or greater. clang 3.6 or greater. Instantiating a ChaiScript object now, by default, builds the stdlib in This was done to address the most common support of loading stdlib dynamically at runtime. If you want the old behavior, use include/chaiscript/chaiscript_basic.hpp . This was done to address the most common support of loading stdlib dynamically at runtime. If you want the old behavior, use include/chaiscript/chaiscript_basic.hpp. Headers have been reorganized to fully separate stdlib/parser/engine from each other (some faster builds). Bootstrap functions no longer return a reference to the module added to (compile time savings). It's now no longer possible modify AST_Nodes (compile time, runtime efficiency). Function annotations no longer exist (simplifies code, reduces compile time, compile size). Modular optimization system; this can be accessed via the ChaiScript_Basic interface. Execution tracing capability; also accessed via ChaiScript_Basic interface. range-based for loops for( id : container ) (much better performance than other loop types). If-init expressions (ala C++17). Support for passing r-value references to functions. Support for containing unique_ptr. Add helpers for exposing enum classes to ChaiScript. Allow typed ChaiScript defined functions to perform conversions on call #303 . Compile time improvements. Compile size improvements. Significant runtime improvements (see "Modular optimization system"). Significant parser improvements, both with parse-time and parser initialization time. type conversion to bool in conditionals. File location tracking has been rewritten; this currently means error location reporting is not as good as it was. Tracing capability needs to be tested and vetted.