Following the spirit of my previous entry, I will propose a different syntax for the language.

See the original proposed syntax.

Meaningful indentation, colon character repurposed

Well, at least without the help of curly brackets:

block :
    statement1
    statement2

Expressions and statements starting blocks use a colon character to separate it and to add some visual redundancy.

A let keyword

The original syntax for declaring identifiers…:

name : [ type ] = value

… would be replaced with this one:

let name [ type ] = value

In other words, compare before and after:

a := 42

let a = 42

This also would make those for loops much more fun:

for each i8 in 0 <= .. < 256 :
    // each ...

Note the paralelism between let+= and for+in.


Updates:

  • def replaced with let.
  • ‘Curly brackets’ instead of ‘square brackets’.