Les bases

Texte source et noms

.sd les fichiers sont UTF-8. Strings/comments peut contenir du Unicode ; les identifiants restent ASCII. Tous les noms ordinaires, y compris les types et les variantes, sont en minuscules. Les constantes sont en cas de serpent supérieur.

// ação and 日本語 are valid comment text
const MAX_ITEMS = 64
let greeting = "olá"

Le littéral a un type emprunté statique str. UTF-8 valide possédé utilise string. len renvoie la longueur en octets ; Les opérations Unicode scalar/grapheme appartiennent aux bibliothèques.

Reliures

let answer = 42
let mut count: usize = 0
let linear ticket = acquire_ticket()

Les liaisons sont immuables par défaut. La mutation via une liaison nécessite mut. linear crée une obligation de consommation unique.

Types de base

Agrégats

struct point { x: i64, y: i64 }
let origin = point.{ x: 0, y: 0 }

type color { red green blue }
let selected = color.green

Le compilateur propre n'a pas de mot-clé enum ; utilisez un ADT sans charge utile. Les unions brutes nécessitent unsafe construction/access.

Expressions

Blocs, if, et match valeurs de rendement. Utilisez l'expression finale pour un résultat implicite et ret pour un retour anticipé. L'arithmétique entière suit les règles déterministes de SEMANTIC_RULES.md; l'indexation sécurisée reste vérifiée dans les versions de version.

Le compilateur propre implémente typé phase-1/2 f"..." interpolation pour le texte, les booléens, les entiers, les flottants, les spécifications de format et les valeurs statiques display/debug traits. Utiliser {{/}} pour les accolades littérales et .to_string()? uniquement lorsqu'une chaîne contiguë possédée est requise. L'impression reste une opération explicite de la bibliothèque.