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.