Универсальная функция u
может быть написана довольно легко на языке, похожем на Haskell (без побочных эффектов, функций высшего порядка), а именно:
u f x = f x
Эта функция u
универсальна, потому что она принимает (описание) программу f
и ленту ввода x
и сообщает вам результат запуска f
наx
.
Хотя этот ответ не является полностью серьезным, он показывает, что компилятор или интерпретатор для языка, похожего на Haskell, уже содержит все компоненты сборки, необходимые для универсальной функции. Мораль этой истории в том, что лучше потратить время на изучение работы компиляторов и интерпретаторов, чем беспокоиться о реализации универсальной функции в терминах машин Тьюринга.