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 |
|---|---|
| Licenses | BSD Revised |
| Operating Systems | Linux Windows Mac OS X |
| Implementation | C++ Boost |
| Translations | English |
Recent releases


Release Notes: Numeric operations performance has increased approximately 10x. Looping operations performance has increased up to 2x. Engine start up time has decreased. Several parsing bugs related to index operators have been fixed. Full support has been added for all C algebraic types: double, long double, float, int, long, char, uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int32_t, and int64_t. Enhanced support for capturing of exceptions thrown from ChaiScript in C++.


Release Notes: Major code reorganization, bugfixes, and updates. Automatic conversions between ChaiScript functions and boost::function optinos. Function introspection support. Improved const support. Improved object lifetime during script execution. Rewritten documentation. 30% more unit tests. Improved support for clang, VS2010, and 64-bit environments. Command line options have been added to chai eval.


Release Notes: Method sugar lookup was fixed to not search local variables. Note that this affects pre-2.3.3 code but should only affect a minority of cases. A memory leak was fixed. Unit tests and packaging were standardized across platforms. Vim and geshi syntax highlighting were also added.


Release Notes: Support for 0b1010-style binary numbers was added. Compilation issues with VS 2010 were fixed. Bugs related to swap and vector initialization were fixed.


Release Notes: This is a bugfix release that addresses compilation issues in Visual Studio 2008 and MinGW.
Recent comments
08 Dec 2009 07:18
Oops - it seems Chaiscript makes you register every method that you want exposed: www.chaiscript.com/nod...
08 Dec 2009 07:11
I've just noticed chaiscript - elanthis, obviously lots of people wrote scripting languages in C++, but how many scripting languages give you access to all C++ objects, as Jython gives you access to all Java objects - without writing wrapper code.
23 Sep 2009 20:37
It's pretty silly to claim that this is possibly the first script language to target C++. There are dozens of them. Heck, I've written 3, one of which was posted here on Freshmeat years and years ago. ChaiScript may be one of the better ones out there (or not, I don't know -- haven't really looked into it much yet), but it's definitely not even remotely close to the first. :)