turing que programming machine language completa c#-4.0 computation-theory turing-complete

c#-4.0 - que - turing complete machine



¿Está terminado el tiempo de compilación de C#4.0? (1)

Existe un hecho bien conocido de que las plantillas de C ++ son complejas , CSS es turing-complete (!) Y que la resolución de sobrecarga de C # es NP-hard (incluso sin genéricos).

Pero, ¿se ha completado el C # 4.0 (con co / contravarianza, genéricos, etc.) en tiempo de compilación ?


A diferencia de las plantillas en C ++, los genéricos en C # (y otros .net lang) son una característica generada en tiempo de ejecución. El compilador realiza algunas comprobaciones para verificar el uso de los tipos, pero la sustitución real ocurre en el tiempo de ejecución. Lo mismo aplica para Co y contravariancia si no me equivoco , así como incluso las directivas del preprocesador . Mucha magia CLR.

(En el nivel de implementación, la principal diferencia es que las sustituciones de tipo genérico C # se realizan en tiempo de ejecución y, por lo tanto, se preserva la información de tipo genérico para los objetos instanciados)

Ver MSDN

http://msdn.microsoft.com/en-us/library/c6cyy67b(v=vs.110).aspx

Actualización: CLR realiza la verificación de tipos de preformas a través de la información almacenada en los metadatos asociados con los ensamblados compilados ( Vis-à-vis Jit Compliation ). Lo hace como uno de sus muchos servicios (la respuesta de ShuggyCoUk a esta pregunta lo explica en detalle ) (otros incluyen administración de memoria y manejo de excepciones). Entonces con eso inferiría que el compilador entiende el estado como progresión y estado como en el estado interno de la máquina ( TC , en parte, significa poder revisar datos (símbolos) con referencia a datos previos (símbolos), condicionalmente y Evaluar) (Dudé en decir la definición exacta de TC, ya que yo mismo no estoy seguro de haberlo captado por completo, así que siéntanse libres de rellenar los espacios en blanco y corregirme cuando corresponda) Así que con eso les diría con un poco de inquietud Sí, sí, puede ser