Una función universal u
se puede escribir con bastante facilidad en un lenguaje similar a Haskell (sin efectos secundarios, funciones de orden superior), a saber:
u f x = f x
La función u
es universal ya que acepta (la descripción de) un programa f
y una cinta de entrada x
, y le dice que el resultado de la ejecución f
de x
.
Si bien esta respuesta no es del todo seria, muestra que un compilador o un intérprete para un lenguaje similar a Haskell ya contiene todas las partes de construcción necesarias para una función universal. La moraleja de la historia es que es mejor dedicar tiempo a estudiar cómo funcionan los compiladores e intérpretes que preocuparse por implementar una función universal en términos de máquinas Turing.