Je suis particulièrement intéressé par les solutions au problème que la recherche encapsulée peut dépendre de l'ordre d'évaluation.
Selon [1], la recherche encapsulée dans PAKCS dépend de l'ordre d'évaluation, tandis que dans MCC, elle ne le fait pas, mais son utilisation nécessite la connaissance de l'implémentation du compilateur et elle ne suit pas la spécification du langage Curry. Cela a été écrit en 2007, il est donc possible que ce soit obsolète maintenant.
KiCS2 renvoie les résultats de la recherche encapsulée dans la monade IO, mais je ne comprends pas pourquoi.
[1] Braßel et Huch, Sur une intégration plus étroite de la programmation fonctionnelle et logique , Proc. APLAS 2007
Voir http://www-ps.informatik.uni-kiel.de/kics2/lib/Findall.html : il indique que l'
IO
approche basée est déconseillée et que la manière préférée n'est pas leSetFunctions
module de Curry , cette nouvelle conception supprime lesIO
valeurs de retour encapsulées et dispose d'autres moyens pour éviter les fuites d'indéterminisme et de non-transparence référentielle dans la terre pure-FP.la source