Core
/ principles

Ich sprach: Was soll das Wort mir frommen?
Der Weise muß zu den Toren gehn,
Sonst würde die Weisheit verlorengehn,
Da Toren nie zum Weisen kommen.

– Friedrich von Bodenstedt: Die Lieder des Mirza-Schaffy

simplicity

Some believe that adding features improves a language.
This is not a language for those.

In a world in which languages add features
until they collapse under their own weight,
build a language that is content with itself.

consistency

"Always rules" are better than "almost rules":
  • . selects
  • = assigns
  • : ascribes
  • @ annotates
  • () encloses terms
  • [] encloses types

readability

The language is designed to be read from the left to the right,
minimizing the frequency in which a reader has to backtrack.
Precedence levels are kept to a minimum.

Every definition starts with a keyword, such that code that follows is immediately understandable.

compatibility

Spend the engineering effort to make the language amenable for change,
instead of making ossification a forgone conclusion.

The least painful time for a breaking change is now.

performance

The language is designed to allow an implementation that is fast and efficient.
There are no language features that introduce a slow-path.