Как работает amb ambator in SICP ch4? - PullRequest
1 голос
/ 28 апреля 2020

Концептуально я понимаю ту роль, которую обратные вызовы продолжения и успешного завершения играют в общем процессе. Кажется, что продолжения успеха как бы «падают вниз» и пу sh вещи впереди, в то время как продолжения неудач «всплывают» снизу (последнее выражение amb) и имеют эффект «последний вошел (найден) первым вышел (назван»). Повестка дня (стек). Поразительно, хотя обратный вызов сбоя волшебным образом заканчивается как второй аргумент обратного вызова успеха! Я имею в виду, что они явно идут разными путями и как что-то подобное спроектировано в первую очередь. Затем, когда дело доходит до контекста интерпретации, мне трудно следить за процессом шаг за шагом. Например:

((amb foo bar) (amb 10 20) (amb 'well 'ok))

Есть ли другие способы реализовать этот оценщик в книге?

...