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>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 :