26Fermer28
HippopotameLe 11/02/2004 à 09:14

Dans un langage fonctionnel pur, il n'y a aucun effet de bord. En particulier, on ne peut pas affecter une valeur à une variable après sa déclaration (et donc il n'y a pas de variables, seulement des constantes).

Caml est un langage fonctionnel impur : pour des raisons de commodité, on autorise certains effets de bord. Toutefois, les variables restent toutes constantes, et ne peuvent pas être réaffectées. Si on veut une variable qui puisse "varier", ce doit être une référence (c'est à dire grosso modo un pointeur : le pointeur est constant, mais la valeur qu'il pointe ne l'est pas), ou bien un champ mutable.

Bien sûr, Kevin, qui est hermétique à tout style de programmation qui s'écarte du pur impératif, va trouver ça dément.smile