Построение полной по Тьюрингу вычислительной среды при помощи утилит GNU Find и Mkdir

Японский разработчик Keigo Oka продемонстрировал, что на основе утилит GNU find и mkdir можно сформировать вычислительную среду, являющуюся полной по Тьюрингу, т.е. позволяющую реализовать на нём любую вычислимую функцию и воссоздать себя. Ранее возможность создания подобной среды была продемонстрирована для утилит sed и awk. Для подтверждения полноты по Тьюрингу предоставлены реализации на связке из find и mkdir игры Fizz buzz и клеточного автомата, действующего по “правилу 110“.

Для организации работы циклов при помощи find и mkdir использован трюк с рекурсивным созданием подкаталогов, для ограничения числа итераций в котором используется опция “-maxdepth” (например, для цикла из 3 итераций можно запустить “find x -maxdepth 3 -execdir mkdir x/x ;”). Число допустимых итераций упирается в ограничения файловой системы по созданию вложенных каталогов и максимальному размеру файлового пути. Вызов условных операций организован при помощи регулярных выражений, доступных через опцию “-regex” (наприме, для вывода строки “Buzz” для чисел, делящихся на 5, можно указать ‘-regex ‘d((/x){5})+’ -printf “Buzzn”‘).

Release. Ссылка here.