Estou particularmente interessado em soluções para o problema que a pesquisa encapsulada pode depender da ordem da avaliação.
De acordo com [1], a pesquisa encapsulada no PAKCS depende da ordem da avaliação, enquanto no MCC, não, mas seu uso requer conhecimento da implementação do compilador e não segue a especificação da linguagem Curry. Isso foi escrito em 2007, portanto pode estar desatualizado agora.
O KiCS2 retorna resultados da pesquisa encapsulada na mônada IO, mas não entendo o porquê.
[1] Braßel e Huch, sobre uma integração mais estreita da programação funcional e lógica , Proc. APLAS 2007
Consulte http://www-ps.informatik.uni-kiel.de/kics2/lib/Findall.html : diz que a
IO
abordagem baseada está obsoleta e a maneira preferida não é oSetFunctions
módulo de Curry . Esse novo design elimina osIO
valores de retorno empacotados e tem outros meios para evitar vazamento de indeterminismo e não-transparência referencial na terra pura do FP.fonte