a multi-stage heterogeneous programming language applied to real-time 3D graphics
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.vscode
cli
dingus
docs
example
glrt
harness
native
site
src
test
tool
.gitignore
.npmignore
LICENSE
Makefile
README.md
circle.yml
header.ss
package.json
parser.d.ts
ts.mk
tsconfig.json
tslint.json

README.md

Braid: a Static Staging Compiler

build status

Braid is an experimental programming language for heterogeneous systems based on multi-stage programming. See the documentation for an introduction to the language.

The compiler is written in TypeScript and runs on Node. You can build the compiler and run a few small programs by typing make test (if you have npm). Check out the code documentation for an introduction to the compiler's internals.

Using and Hacking

To get started, make sure you have Node and clone the repository. The included Makefile should build everything, or you can type these commands to use npm to get things ready:

$ npm install
$ npm run build

The latter produces the parser and compiles the source code with TypeScript's tsc command. Then, you might want to run:

$ npm link

to install an alias to the braid command. Then, type:

$ braid --help

to see some options. In particular, run braid example.ss to interpret programs; run braid -c example.ss to compile programs to JavaScript; and run braid -cx example.ss to compile programs and then execute the resulting JavaScript.

Credits

This is a project of Capra at Cornell. The license is MIT.

Adrian Sampson started this project in collaboration with Kathryn S McKinley and Todd Mytkowicz at Microsoft Research, where it was released as open source. It has since been improved by Richie Henwood, Eric Lin, and Yiteng Guo.