Notes and description on the design of the Weld programming language
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
00 Creator's
01 In The
02 Moves Like
04 Embracing Anonymous


This git repo contains the collective notes on the design of the Weld programming language. When such a time arrives it will also be the source of the gh-pages branch for the Weld project website. Please note that this is a living document. Very large portions of it are either unwritten or only outlined, and many written portions are only drafts.

##What is Weld?

Weld is a new server-side language design inspired by JavaScript, PHP and Python for the use of building web applications. Weld does not yet actually exist, this project is a working draft of the language specification.

##Project Goals

The purpose of the Weld project is to design a server-side language that is as easy to work with & deploy as PHP and as versatile & performant as JavaScript in Node.js, while avoiding as many of the warts of both languages as possible. The plan is to fully describe every aspect of the language and the runtime in advance of any actual implementation so as to avoid as many compatibility issues as possible.

The scope of this project does not include best-practices within the language or framework applications.

##How You Can Contribute

There are many aspects to the definition of a programming language, from formal syntax to runtime behavior to the contents of the standard toolkit. Many of these things haven't even been considered yet. Got an idea for a feature, or is there something about the language that you think needs more addressing? Open an issue on the project which clearly states your concept or your concern. Please keep this feedback constructive, you serve no one's interest by debating elements which are already established behaviors of the language.

But it doesn't stop there, discussion leads to definition, and that requires writers. Pull requests of clearer language definitions are always welcome.