tsguide.refl.fr/content/docs/playing/syntax.md

1.2 KiB

title weight
Syntax 1

Rays

Either a variable (uppercase, possibly followed by digits) or a polarised (+/-) or unpolarised (lowercase, possibly containing _ and digits) function symbol applied to other rays (or nothing in case of constants):

X, a, f(X), +f(X), -f(-h(a, Y1), X2), +add_dec(0, 2, 2).

Commas can be omitted:

-f(-h(a Y1) X2), +add_dec(0 2 2), string(hello i am X).

Cons

There is a special binary infix function symbol : which can be used to concatenate rays:

a:X, a:b:b:X, f(a:X):+f(0:1:X):-f(Y).

Stars

An unordered sequence of rays ending with a semicolon ;:

X a +f(X);

Constellations

An unordered sequence of stars:

X a +f(X); -f(-h(a Y1) X2);
+add_dec(0 2 2);

All variables are local to their stars, hence the occurrences of X in the first line are distinct from the one in the second line.

Focus

You can prefix stars with a @ symbol to put a focus over them. This will affect the behaviour of computation:

@X a +f(X);
@-f(-h(a Y1) X2);
+add_dec(0 2 2);

Comments

'this is a comment on a single line
'this is another comment

'''
this is a
comment on
several lines
'''