Понимание модели исполнения мини-канрена
В главе 5 SICP объясняется схема мета-циклической оценки интернов регистрационной машины.
Есть ли что-нибудь, что обеспечивает подобный тип Mini-Kanren с точки зрения примитивов Scheme?
Я знаю, что есть тезис, написанный на Mini-Kanren (однако, я забочусь только о построении ментальной модели; не все детали ужасной оптимизации). Я также знаю, что есть разумный интриган - однако я не ищу кучу примеров - я просто хочу понять Mini-kanren в его "очень очень простой форме, очень похожей на то, как можно понять схему с помощью понимание: eval, применить, если, установить!, env
Спасибо!
2 ответа
Я думаю, что чтение The Reasoned Schemer на самом деле является правильным способом изучения основ. Вы также можете попробовать посмотреть выступление Дэна Фридмана и Уильяма Берда на мини-канрене из Clojure Conj.
Поскольку у miniKanren всего семь форм, понимание основных форм - это просто понимание всего. Реализация только о странице макроса, так что вы можете попытаться понять это. Вы также можете попробовать прочитать вступительные части кандидатской диссертации Уильяма Берда.
В книге "Разумный планировщик" есть реализация очень простой логической системы поверх схемы. Он самодостаточен, единственное, что нужно для его понимания, - это сама книга, за которой - в стиле других книг серии, очень легко следовать.