La syntaxe de Scheme
Comme beaucoup de langage informatique, le code Scheme s'écrit et se lit linérairement 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.
$5 + 3$ s'écrit en Scheme :
(+ 5 3)$9 - 2$ s'écrit en Scheme :
(- 9 2)$2 \times 6 + 4$ s'écrit en Scheme :
(+ (* 2 6) 4)$\dfrac{log(2) + 1}{15 - 6!}$ s'écrit en Scheme :
(/ (+ (log 2) 1) (- 15 (fact 6)))Aller plus loin
Vous savez maintenant écrire une expression en utilisant la syntaxe de Scheme. Continuez à explorer les possibilités que vous offre Scheme en consultant les liens suivants :