Files
saselang-bible/examples/002-principes-generaux-du-langage-examples.md
2026-09-13 10:20:16 +02:00

2.7 KiB

Exemples / DO-DON'T — Chapitre 2 — Principes généraux du langage

Document compagnon. Les exemples illustrent les règles du chapitre ; la formulation normative reste dans le chapitre lui-même.

Exemples extraits du chapitre

Exemple 1

and comme alias de &&
or comme alias de ||
=== en plus de l'identité explicite
++ et --
ternaire ?: si les formes productrices de `match`/`if` avec `emit` couvrent le besoin

Exemple 2

&& / ||       short-circuit
& / | / ^     logique eager sur bool

Exemple 3

keywords
identifiers
numeric literals
operators
punctuation
syntactic whitespace
namespace syntax

Exemple 4

String literals
char literals
ordinary comments
Saseldoc comments

Exemple 5

U+0020 SPACE
U+0009 TAB
U+000A LF
U+000D CR

Exemple 6

[A-Za-z_][A-Za-z0-9_]*

Exemple 7

_value      // utilisateur autorisé
__value     // réservé interne

Exemple 8

( )   grouping, calls, control headers, parameters
[ ]   indexing et constructions définies par leur grammaire
{ }   blocks et constructions à accolades
;     fin d'un statement ou d'une déclaration sans corps
,     séparation de deux éléments ; séparateur de listes init/update dans for
.     qualification de namespace
::    qualification de membre/symbole
=>    séparateur grammatical pattern -> bloc dans match
=     assignment
+ - * / % arithmetic
& | ^ ~ bitwise/logical selon type ; | sépare aussi les alternatives d'un pattern
!     logical negation / !=
< >   comparaison, shifts et syntaxe générique selon contexte
..    famille de délimiteurs de Range, avec >.., ..< et >..<
'     char delimiter
"     String delimiter
_     identifiant / séparateur numérique / wildcard de pattern selon contexte

Exemple 9

#   raw-string delimiter et shebang autorisé seulement selon sa règle dédiée
@   réservé hors commentaires/Saseldoc
$   réservé, notamment pendant la finalisation de l'interpolation
?   réservé sans sémantique V1 encore attribuée
`   réservé/interdit à l'utilisateur
\   uniquement selon les règles d'escape des littéraux

Exemple 10

Map<String,List<int32>>

Exemple 11

{
    int32 myvar = 42;
}

Exemple 12

String text = "abc";
text::append("def"); // OK si append est une méthode mutante de String

DO / DON'T / WHY / compiler error / edge cases

À consolider progressivement avant la baseline publique V3 et à transformer, lorsque pertinent, en tests de conformité de la toolchain.

Explicite plutôt qu'ambigu

Lorsqu'une forme légèrement plus longue supprime un implicite ou une ambiguïté réelle, Saselang la préfère à une syntaxe plus courte.