Blog de Laurent Bloch
Blog de Laurent Bloch

ISSN 2271-3980
Cliquez ici si vous voulez visiter mon autre site, orienté vers des sujets informatiques et mes enseignements.

Pour recevoir (au plus une fois par semaine) les nouveautés de ce site, indiquez ici votre adresse électronique :

Forum de l’article

Le compte est bon

Rappel de la discussion
> Le compte est bon
Laurent Bloch - le 7 décembre 2004

Un utilisateur du programme donné dans cet article m’a dit :

« Le programme interprété et le programme compilé n’ont pas le même comportement : pour le premier je dois donner la liste de nombres sous la forme quottée :

'(2 4 7 11 20)

alors qu’au programme compilé je dois donner la liste non quottée :

(2 4 7 11 20) »

Cette observation ne tient pas compte de la différence de contexte : si dans la « boucle lire-évaluer-imprimer » (boucle read-eval-print) de l’interprète j’appelle directement la procédure compte-bon je dois effectivement taper :

(compte-bon 14 '(2 4 7 11 20))

en quottant la liste pour que l’interprète ne tente pas de l’évaluer, ce qui provoquerait une erreur (laquelle ?).

Mais si, dans la boucle read-eval-print de l’interprète, comme d’ailleurs en réponse au programme compilé, je passe par la procédure entre, je dois donner la liste en réponse à un appel à la procédure (read), et là je ne devrai pas la quotter parce qu’elle ne sera pas évaluée.

Pourquoi cette liste n’a-t-elle pas été évaluée ? Parce qu’elle n’a pas été soumise au système par l’intermédiaire de la « boucle lire-évaluer-imprimer », mais renvoyée comme résultat de l’évaluation d’une expression.

Et, heureusement d’ailleurs, l’évaluateur ne « boucle » pas indéfiniment pour évaluer tous les résultats qu’il produit.

Derniers commentaires

Non, je ne caricature pas mes adversaires
Vous êtes patient ! Enfin, je pense que malgré nos divergences, nous pouvons tous deux nous (…)

Merci
Merci, Laurent, un film à voir absolument, donc. Si je peux me permettre une référence (…)

Non, je ne caricature pas mes adversaires
Bonjour, Mais non, vous n’avez pas à vous excuser, la diversité de points de vue et d’opinions (…)

Non, je ne caricature pas mes adversaires
Bonsoir, Premièrement, je tiens à m’excuser si je réponds trop souvent à vos interventions (…)

Non, je ne caricature pas mes adversaires
Bonjour, Merci de votre message, même si je ne suis pas d’accord : non, je ne caricature pas (…)