Skip to content

RehMaar/uKanren-spec

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

uKanren-spec

NOTE: Cleaning up still in progress!

Общий метод суперкомпиляции

Методы суперкомпиляции

Методы суперкомпиляции различаются тем, каким образом мы выбираем атом в конъюнкии, который мы будем раскрывать.

  • FU -- полный unfold. На каждом шаге раскрываем все конънкты.

  • SU (sequential unfold) -- последовательный unfold. Конъюнкию раскрываем последовательно. Для этого сохраняем индекс последнего раскрытого конъюнкта.

  • RU (random unfold) -- случайный unfold. На каждом шаге раскрываем случайный атом.

  • NU (non recursive unfold) -- не рекурсивный unfold. На каждом шаге сначала пытаемся раскрыть атом, в котором нет рекурсивного вызова, если не получилось, то раскрываем атом с наименьшим определением.

  • RecU (recursive unfold) -- рекурсивный unfold. На каждом шаге сначала пытаемся раскрыть атом, в котором есть хоть один рекурсивный вызов, если не получилось, то раскрываем атом с наименьшим определением.

  • MinU (minimum unfold) -- минимальный unfold. Сначала раскрываем конънкт с наименьшимопределением.

  • MaxU (maximum unfold) -- максимальный unfold. Сначала раскрываем конънкт с наибольшим определением.

About

Specializer for microKanren

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published