1.5 KiB
| title | weight |
|---|---|
| Syntaxe | 20 |
Rayons
Soit une variable de la forme [A-Z][A-Z 0-9]* ou un symbole de fonction
polarisé ou non par + ou - de la forme (+|-)?[a-z 0-9 _]+ appliqué à une
séquence ordonnée d'autres rayons en arguments (séquence possiblement vide dans
le cas d'une constante) :
X, a, f(X), +f(X), -f(-h(a, Y1), X2), +add_dec(0, 2, 2).
Les virgules séparant les arguments peuvent être omises :
-f(-h(a Y1) X2), +add_dec(0 2 2), string(hello i am X).
Concaténation
Un symbole de fonction binaire infixe : est disponible et peut être utilisé
pour écrire confortablement une concaténation de rayons :
a:X, a:b:b:X, f(a:X):+f(0:1:X):-f(Y).
Etoiles
Une séquence non-ordonnée de rayons terminant par un point-virgule ;:
X a +f(X);
Constellations
Une séquence non-ordonnée d'étoiles :
X a +f(X); -f(-h(a Y1) X2);
+add_dec(0 2 2);
Toutes les variables sont locales à leur étoile. Donc, toutes les occurrences
de X de la première ligne sont en fait distinctes de celles de la seconde
ligne.
{{< hint info >}} Il n'y a pas de sensibilité à l'indentation ou aux sauts de ligne. {{< /hint >}}
Focus
Pour choisir des points de départ du calcul, il est possible de préfixer
certaines étoiles (de notre choix) avec un symbole de focus @.
@X a +f(X);
@-f(-h(a Y1) X2);
+add_dec(0 2 2);
Commentaires
'commentaire sur une seule ligne
'un autre commentaire
'''
commentaire
sur plusieurs
lignes
'''