Построение полной по Тьюрингу вычислительной среды при помощи утилит 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 «Buzz\n»').



Источник: http://www.opennet.ru/opennews/art.shtml? num=61635

©  OpenNet