Debuggable script language for interoperation with C++ using reflection, which can also generate C++ code.
This project is licensed under the License repo.
Source code in this repo is for reference only, please use the source code in the Release repo.
You are welcome to contribute to this repo by opening pull requests.
Workflow scripts are able to be converted to equivalent C++ code.
If all scripts are known at compile time, this could significantly improve the script performance.
You can also get rid of runtime reflection overhead in this way.
- Workflow and C++ classes call each other by reflection.
- Serialize compiled script to a file in binary format, you don't need to call the compiler every time.
- bind(EXPR) expression creates a subscriptable object to observe changing of the expression value.
- Coroutine allows implementing Enumerable and Async by coroutine functions.
- Coroutine allows creating your own coroutine syntax.
- State Machine offers a new way to write classes, taking methods as input and drive the state machine forward.
- Being able to install a debugger on a thread to track Workflow script.
Checkout Project.md for details about compiling and running each test projects.
On Windows, use MSBuild or Visual Studio to build.
On Linux/macOS, run REPO-ROOT/.github/Ubuntu/build.sh in a project folder to update the makefile from vcxproj and build the project.