brwhale/KataScript

Created Dec 29, 2020 · View the brwhale/KataScript repository page

A simple scripting language

Want this for your repo?

Render a free sample of any GitHub repo in seconds.

Visualize your own →

Contributors

3

Lines of Code

376

From

Nov 29, 2020

To

Dec 26, 2020

About brwhale/KataScript

KataScript is a lightweight embedded scripting language written in C++ with familiar syntax designed for easy integration into C++ applications. It provides dynamic typing with eleven value types including integers, floats, vectors, strings, arrays, lists, dictionaries, classes, and functions. The language features automatic memory management through reference counting and includes control flow constructs like functions, loops, and conditionals along with object-oriented programming support through classes with multiple inheritance.

The interpreter is designed with security and sanity as primary goals, offering minimal type coercion to avoid unexpected behavior while still providing explicit casting functions. KataScript can be bidirectionally integrated with C++ code, allowing C++ functions to be exposed to scripts and KataScript functions to be called from C++. The implementation provides an in-browser demo and includes comprehensive documentation covering both language features and C++ integration patterns, with examples ranging from simple hello world programs to functional programming techniques.

The project targets developers who want scripting capabilities for game engines or other applications but prefer a more controlled and predictable alternative to existing solutions like Lua or Python. Future roadmap items include an expanded module system with whitelisting capabilities, asynchronous threading support, and eventual LLVM integration for producing standalone executables.

Share this video