A programming language that compiles to JavaScript and emphasizes prototypes, integrity, and syntax.


Proto is a programming language based on JavaScript that compiles to JavaScript. It emphasizes prototypal programming, integrity, and extensive, disambiguated syntax. It is currently in active development and highly experimental.

Proto uses ECMAScript 6 as its foundation and compiles to ECMAScript 5.

Fun. I wanted to play around with some experimental ideas, particularly many of the proposals that can't go into JavaScript because of backwards compatibilty problems.

npm install protolang

In a JS project:

var proto = require('protolang');

var jsSource = proto.transpile(protoSource);
// ...

There is also a tools/ directory with a command-line compiler (protoc) and a simple server (server).

$ node protoc /path/to/file.proto

This will output the transpiled JavaScript to stdout. You can pipe it elsewhere or redirect it to a file using your OS pipes and redirects.

$ node server /path/to/root/dir --port 3000
Server running on port 3000

This simple server can be useful when developing Proto scripts so that you don't have to constantly compile them. It will only serve .proto files and it will transpile them to JavaScript on the fly.

Please see the following links for more information on Proto.