Мини-Канрен, в чем разница между COND-A COND-U и COND-E?
-
29-09-2019 - |
Вопрос
Я пытался использовать внедрение мини-каньена в Clojure. Но боролись, чтобы понять разницу между кондиционером кондиционером. Я, кажется, довольно ясно о кондиционере, но понимание кондиционера A и COND-U является тихой плохой.
Cond-E берет набор целей, а затем пробует каждого из них ... IE пробует все ветви, которые успешны.
COND-A и COND-U наоборот коммитируют филиал, первый предикат которого преуспевает и конденс-a возвращает все возможные успешные объединения после. В то время как COND-U возвращает только первое успешное объединение ... но однако кажется, что это понимание не правильно, когда я его использую. Может кто-нибудь помочь мне уточнить это понимание.
Решение
COND-E дает каждый ответ от всех ветвей, которые преуспевают
Cond-I дает каждый ответ, но переплетает их.
Cond-A только дает ответы от первой успешной отрасли
COND-U только дает первый ответ от первой успешной ветки
Другие советы
Я просто пытался заставить голову по этим вопросам. Существует доработанная схема реализацииСокуза-Канрен С несколькими комментариями я прочитаю это сегодня вечером.