La syntaxe de Scheme
Comme beaucoup de langage informatique, le code Scheme s'écrit et se lit linéairement de gauche à droite.
Cependant, contrairement à beaucoup de ces mêmes langages, Scheme utilise la notation préfixée dans laquelle l'opérateur est placé à gauche des opérandes.
<opérateur> <opérandes>
avec <opérandes> = <opérande-1> ... <opérande-n>
.
Ce choix d'écriture permet d'avoir des expressions non ambigües puisque si l'on connait l'arité de l'opérateur (nombre d'opérandes de l'opérateur), on est capable de retrouver l'expression à partir de sa notation préfixée (lemme de Łukasiewicz).
De plus, chaque expression du langage est entourée de parenthèses (chaque parenthèse ouvrante doit être fermée). Cela peut paraître déroutant à un lecteur débutant du fait de leur nombre important dans certains programmes. Mais surtout, elles rendent la syntaxe de Scheme très régulière (chaque expression se forme sur le modèle suivant).
(<opérateur> <opérandes>)
avec <opérandes> = <opérande-1> ... <opérande-n>
où n est l'arité de l'opérateur.
Enfin, Scheme n'a pour séparateur que les espaces et les retours à la ligne donc pas besoin de point virgule ou autre symbole particulier pour délimiter l'opérateur des opérandes ou les opérandes entre elles. La séparation des expressions est, quant à elle, déjà donnée par la présence des parenthèses.
Exemple de syntaxe
Maintenant que nous connaissons les règles de la syntaxe de Scheme, nous allons nous exercer à convertir des expressions utilisant la notation mathématique en leur équivalent Scheme.
s'écrit en Scheme :
(+ 5 3)
s'écrit en Scheme :
(- 9 2)
s'écrit en Scheme
(+ (* 2 6) 4)
s'écrit en Scheme :
(/ (+ (log 2) 1) (- 15 (fact 6)))