Dans [1], Mitchell Wand a démontré que l'ajout de fexprs au calcul lambda pur banalise la théorie de l'équivalence contextuelle, ce qui signifie que deux termes sont contextuellement équivalents s'ils sont -congruents. En explorant le travail connexe, il est allé "notre résultat prolonge une vieille observation d'Albert Meyer [2] et rend l'équivalence contextuelle triviale". Mais en faisant référence à [2], ce qui a pu être trouvé n'est que la déclaration suivante de Meyer:evalquote
J'ai d'abord pensé que dans les langages avec une fonction
quote-evalcomme LISP [3], il n'y avait pas de distinction de type entre les objets syntaxiques et exécutables. En faitquote-evalsemble assez sûr dans LISP parce que, bien quequotesyntaxiquement ressemble à un opérateur de bonne foi, comme disonscond, il ne se comporte vraiment pas comme un (il n'a qu'un comportement au moment de l'analyse, pas au moment de l'exécution, par exemple, on ne peut pas passerquotecomme paramètre d'une procédure). Pourtant, je n'ai pas encore vu d'exemples convaincants où la fonctionnalitéquote-evalvalait la peine.
Indépendamment d'une faille mineure dans ces commentaires qui peut induire le lecteur en erreur et déduire qui condpourrait être transmise comme paramètre à une procédure. Si je comprends bien, ce que Meyer a dit " quote- evalsemble assez sûr" signifie que quote- evalpeut ne pas banaliser la théorie équationnelle, bien qu'il n'ait pas fourni de preuve.
ÉDITER:
Comme l'a suggéré Martin, puisque les trois articles cités traitent des langues de la famille LISP, posons la question sous ce même cadre. L'équivalence contextuelle d'une langue avec quote- eval, en particulier LISP, sur terre est-elle triviale ou non?
[1] Mitchell Wand, The Theory of Fexprs Is Trivial . Lisp et Symbolic Computation 10 (3): 189-199 (1998).
[2] Albert Meyer, Puzzles in Programming Logic Workshop on Formal Software Development. 1984
[3] John McCarthy, fonctions récursives des expressions symboliques et leur calcul par la machine, la partie I . Communications de l'ACM en avril 1960.