Braid is an experimental heterogeneous programming language with an application to real-time graphics. A Braid program controls the CPU and the GPU's shader stages simultaneously. The compiler emits a mixture of WebGL calls in JavaScript and shader programs in GLSL. Braid uses multi-stage programming to let developers control the placement and specialization of heterogeneous code.
To get started, see the documentation for the compiler and the language. You can experiment with Braid with the in-browser dingus or browse the source on GitHub. A paper about Braid appeared at OOPSLA 2017:
@inproceedings{braid, title = {Static Stages for Heterogeneous Programming}, author = {Adrian Sampson and Kathryn S McKinley and Todd Mytkowicz}, booktitle = {OOPSLA}, year = 2017, }
Braid is a project of Capra at Cornell. It began life at Microsoft Research.