Automate d'évaluation — expression if
Statut documentaire : reference — voir Maturité et preuves.
La grammaire FPL actuelle accepte les formes avec et sans else.
if condition then expression
if condition then expression else expression
Protocole d'évaluation
préparer la condition
-> évaluer la condition
-> vérifier le résultat conditionnel
-> sélectionner une branche
-> évaluer uniquement la branche sélectionnée
-> retourner sa valeur
La condition est une expression ordinaire : elle utilise les mêmes piles, environnements et règles de reprise que le reste du moteur.
else absent
L'absence de else est une forme grammaticale explicite. Le moteur ne doit donc pas dépendre d'un comportement implicite du langage hôte. Le résultat de cette forme appartient au contrat de valeur de FPLN et doit être traité comme tel par les consommateurs.
Propriété importante
La branche non sélectionnée n'a pas à être évaluée. Cette sémantique permet au contrôle de flux de rester compatible avec l'évaluation différée et les expressions pouvant produire des effets.