ChaiScript is an embedded scripting language designed from the ground up to directly target C++ and take advantage of modern C++ development techniques. Being a native C++ application, it has some advantages over existing embedded scripting languages. It uses a header-only approach, which makes it easy to integrate with existing projects. It maintains type safety between your C++ application and user scripts. It supports a variety of C++ techniques including callbacks, overloaded functions, class methods, and STL containers.
|Tags||scripting language embeddable programming language|
|Operating Systems||Linux Windows Mac OS X|
|Implementation||C++ Boost c++11|
Release Notes: This release added automatic conversion of arithmetic return types, following the same rules as conversion of arithmetic types when passing parameters. It also added automatic casting up the inheritence hierarchy when possible. travis.ci testing was enabled. Users can now add globals from within a script. Various static analysis fixes were made and code was modernized to C++11. Unofficial support for Haiku was added. Inability to compile on Cygwin was fixed. There were also formatting fixes, spelling corrections, various threading fixes, and performance improvements.
Release Notes: Note that this version requires boost. It adds arithmetic return type automatic conversion and automatic downcasting of derived objects when possible.
Release Notes: Official support for MSVC with C++11. All major platforms and compilers are now supported for the C++11 release. Enhanced unit tests. Adds a continue statement and fixes various use cases for for loops. Fixes the use of suffixed numbers in vector initialization. Eliminates global data, which makes code more portable and thread safe.
Release Notes: This is scheduled to be the last release which requires boost. New releases after this will require a C++11 compiler. This release adds a "continue" statement, fixes use of suffixed numbers in vector initialization, merges pretty_print fixes, fixes threading problems, fixes a linking error on MacOS Mavericks, allows non-const globals, makes sure the user cannot name a variable with "::" in it, fixes various "size" and "count" calls for compilers which have weird overloads for them, makes the module search path relative to the currently-running executable, and builds and works with wstring Windows builds.
Release Notes: This release is in the C++11 series, supporting gcc and llvm. It adds support for automatic conversion of arithmetic types when possible and when no ambiguous method dispatch exists. Initial support for MinGW 4.7 with C++11 (ChaiScript 5.2.0) has been added.