Entonces, estoy leyendo un poco sobre la elaboración, particularmente, algoritmos basados en el cálculo bicolor de la construcción, y estoy un poco confundido. No entiendo cuál es exactamente el propósito del . Parece ser idéntico a excepto que hay una distinción entre argumentos implícitos y explícitos para funciones. En particular, no veo cómo le permite escribir lugar de . Si asumimos un sistema para definiciones globales, entonces,
y
.
¿Las reglas realmente permiten ? Por supuesto, la sintaxis sí, pero no la veo en la relación de escritura. ¿Me estoy perdiendo de algo? ¿Entiendo incorrectamente el papel de ?
Además, ¿no se pierde la propiedad de la confluencia? Supongo que mi problema es que estoy leyendo sobre elaboración sin haber leído mucho sobre antes de esto. ¿Qué es un buen artículo que lo presenta y solo?
Editar: para ser más específicos, pregunto cómo se acepta en lugar de cuando las reglas para la aplicación explícita e implícita de son idénticas sintaxis de módulo . No veo diferencia entre yLas reglas para ambos parecen las mismas.
Editar: No estoy hablando acerca del cálculo implícito de Construcciones, que es una teoría diferente y tiene diferentes reglas para explícita 's (generación o aplicación).
Editar: Bien, creo que estoy empezando a entender esto, pero no responderé esta pregunta hasta que esté seguro. Básicamente no escribe cheque y, de hecho, solo está elaborado para ( i d justo antes de la verificación de tipo o como una responsabilidad secundaria del algoritmo de verificación de tipo. Esencialmente, estos cálculos implícitos están destinados a ser lenguajes de interfaz (usuario final) que se elaboran en los cálculos habituales (explícitos) o al menos en el fragmento explícito de los cálculos implícitos antes de que se verifiquen los tipos. Si ese es el caso, entonces creo que veo el panorama general. ¿Puede alguien por favor confirmar esto?
Respuestas:
En El cálculo implícito de construcciones que extienden sistemas de tipo puro con un aglutinante y subtipo de tipo de intersección , Alexandre Miquel presenta los conceptos básicos para el cálculo implícito de construcciones, que creo que es sinónimo del cálculo bicolor de construcciones.
El punto es (entre otras cosas) tener un cálculo sin el desorden de anotaciones de tipo explícito en todas partes. Sin embargo, la inferencia de tipos es (muy probable que sea) indecidible.
En este cálculo, si tomamos , entonces puedes derivar ⊢ i d : ∀ X : T y p e . X → X simplemente usando el producto explícito y las reglas del producto implícito en sucesión. A continuación, la regla de instancias para el producto implícita permite ⊢ i D : N un t → N una t y así ⊢ i D 0 : N un tid=λx.x
fuente
id !1 0
elabora paraid Nat 0
. En este texto, la elaboración se cubre en la sección 4.