Programmation Scheme/Syntaxe de base
Un programme Scheme est fait de :
- mots-clefs,
- variables,
- formules structurées,
- constantes (nombres, caractères, chaînes, vecteurs, listes, symboles…),
- espaces, et
- commentaires.
Les variables, symboles et mots-clefs sont appelés « identifiants ».
Identifiants
modifierUn identifiant peut être composé des caractères suivants :
- lettres minuscules ou capitales ; Scheme n'est pas sensible à la casse pour les identifiants ;
- chiffres ;
- caractères :
? ! . + - * / < = > : $ % ^ & _ ~ @
;
mais il ne peuvent pas commencer par un chiffre ni par un signe « @
», « .
» « +
» et « -
».
Les identifiants sont séparés par des espaces, des parenthèses ou des guillemets anglais « "
».
Nombres
modifierUn nombre est écrit de manière habituelle ; le séparateur décimal est le point. Pour les puissances de 10, on utilise le symbole e
: 5·103 s'écrit 5e3
. Les nombres rationnels peuvent être écrits comme des fractions, par exemple 1/3
.
Les nombres complexes peuvent être écrits en notation « rectagulaire » (par exemple 1.2+3.4i
) ou polaire (par exemple 1,2·e i 3,4 s'écrit 1.2@3.4
). Un imaginaire pur a·i se note toujours 0+ai
; par exemple, i se note 0+1i
.
Les valeurs booléennes sont notées #t
pour « vrai » (true) et #f
pour « faux » (false).
Autres types
modifierLes caractères seuls doivent être précédés d'un croisillon[1] et d'une barre de fraction inversée « #\
», afin de les distinguer des identifiants. Une chaîne de caractères est simplement mise entre deux guillemets anglais « "…"
».
Un vecteur est introduit par un croisillon suivi d'une parenthèse ouvrante « #(
», et se termine par une parenthèse fermante « )
».
Les formules structurées et les listes de constantes sont mises entre parenthèses « (…)
». La liste vide est notée « ()
».
Un commentaire est introduit par un point-virgule « ;
» et se termine à la fin de la ligne. Il est d'usage d'utiliser plusieurs points-virgule pour indenter les commentaires, c'est-à-dire les décaler vers la droite et ainsi marquer la correspondance avec l'indentation du reste du code.
Mots-clefs
modifierLes mots-clefs — c'est-à-dire les noms des opérations primitives, des fonctions prédéfinies — sont des identifiants. Ils sont composés de manière systématique.
Les prédicats (renvoyant des valeurs booléennes) se terminent par un point d'interrogation (par exemple eq?
). Les prédicats sur les types de variable sont composés du nom du type suivi du point d'interrogation.
La plupart des procédure s'appliquant aux caractères, chaînes de caractère et vecteurs commencent respectivement par char-
, string-
et vector-
. Les procédures qui convertissent un type en un autre sont de la forme type1->type2
.
Les procédures dont la fin a des « effets de bord » se terminent par un point d'exclamation « !
».
Références
modifier- ↑ le croisillon «
#
» est souvent appelé à tort « dièse », mais le dièse est différent : «♯
»