¿Cuál es la (s) diferencia (s) fundamental (es) entre la semántica operativa de pequeños y grandes pasos? Me está costando comprender lo que es y la motivación para tener los
La semántica describe formalmente el significado de alguna sintaxis.
¿Cuál es la (s) diferencia (s) fundamental (es) entre la semántica operativa de pequeños y grandes pasos? Me está costando comprender lo que es y la motivación para tener los
Estoy buscando un cálculo simple que admita el razonamiento sobre la reflexión , a saber, la introspección y la manipulación de programas en ejecución. ¿Existe una extensión de cálculo tipo que permita convertir los términos λ en una forma que pueda ser manipulada sintácticamente y luego...
Dado un sistema de transición etiquetado , donde es un conjunto de estados, es un conjunto de etiquetas y es una relación ternaria. Como de costumbre, escriba para . La transición etiquetada denota que el sistema en estado cambia el estado a con la etiqueta , lo que significa que es una acción...
En los lenguajes de programación, los cierres son una característica popular y a menudo deseada. Wikipedia dice (énfasis mío): En informática, un cierre (...) es una función junto con un entorno de referencia para las variables no locales de esa función. Un cierre permite que una función acceda...
En el documento "Un tipo de datos JSON replicado libre de conflictos" , encontré esta notación para definir formalmente "reglas": ¿Cómo se llama esta notación? ¿Cómo lo leo? Por ejemplo: el DOC regla no tiene nada en su "numerador", ¿por qué no? Las reglas EXECy GETparecen tener dos términos...
Realmente estoy luchando con esta propiedad: Deje que sea espacios de coherencia y es una función monótona. es continuo si y solo si , para todos modo que D es un conjunto dirigido.X,YX,YX,Yf f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f ( x ) D ⊆ C l ( X ) Df:Cl(X)→Cl(Y)f:Cl(X)→Cl(Y)f: Cl(X) \rightarrow...
Con referencia a características en lenguajes como ruby (y javascript), que permiten a un programador extender / anular clases en cualquier momento después de definirlo (incluidas clases como String), es teóricamente factible diseñar un lenguaje que permita que los programas se extiendan más...
Supongamos que tenemos un lenguaje simple que consiste en los términos: truetrue\mathtt{true} falsefalse\mathtt{false} si son términos, entonces también lo es i ft1,t2,t3t1,t2,t3t_1,t_2,t_3ift1thent2elset3ift1thent2elset3\mathtt{if}\: t_1 \:\mathtt{then}\: t_2 \:\mathtt{else}\: t_3 Ahora asuma...
Estoy familiarizado con la semántica operativa (tanto pequeños como grandes) para definir lenguajes de programación. También estoy interesado en aprender semántica denotacional, pero no estoy seguro de si valdrá la pena el esfuerzo. ¿Aprenderé el mismo material desde un punto de vista diferente, o...
Creo que estoy bastante confundido acerca de lo que se llama cálculo y lo que se llama lenguaje de programación. Tiendo a pensar, y podría haberme dicho, que un cálculo es un sistema formal para razonar sobre la equivalencia de los programas. Los programas tienen una semántica operativa...
Hay muchos idiomas populares. Pero, los informáticos nos dicen que para comprender el comportamiento de los programas en esos lenguajes definitivamente y sin ambigüedades argumentan sobre el comportamiento del programa (por ejemplo, demostrar su identidad), necesitamos traducirlos a otro lenguaje...
Sé que diferentes autores usan notación diferente para representar la semántica del lenguaje de programación. De hecho, Guy Steele aborda este problema en un video interesante . Me gustaría saber si alguien sabe si el operador principal de torniquetes tiene un significado bien reconocido. Por...
¿Existe alguna herramienta para la creación de prototipos de una semántica de lenguaje de programación y un sistema de tipos y que también permita algún tipo de verificación de modelo de propiedades estándar, como la solidez de tipo? Pregunto esto, porque estoy leyendo un libro sobre Alloy y...
En el trabajo, se me ha encomendado la tarea de inferir cierta información sobre un lenguaje dinámico. Reescribo secuencias de declaraciones en letexpresiones anidadas , así: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T else F; Z => if x...
En la discusión sobre esta pregunta , Gilles menciona correctamente que cualquier prueba de corrección de un algoritmo que usa matrices tiene que demostrar que no hay accesos de matriz fuera de los límites; dependiendo del modelo de tiempo de ejecución, esto provocaría un error de tiempo de...
Estoy buscando recursos para comenzar con el análisis de programas . El único libro que he encontrado sobre el tema es el libro de Nielson & Nielson . Aparte de eso, parece que solo hay libros de "compilación" donde el "análisis de programa" sería un capítulo, o algo por el estilo. ¿La...
Recientemente hablé con un amigo sobre un sitio web que propuso desafíos de expresiones regulares, principalmente haciendo coincidir un grupo de palabras con una propiedad especial. Estaba buscando una expresión regular que coincida con cadenas como ||||||||donde el número |es primo. Inmediatamente...
StackOverflow me señaló aquí, por lo que la pregunta podría ser un poco simple. Wikipedia define funciones puras como En la programación de computadoras, una función puede describirse como una función pura si ambas afirmaciones sobre la función tienen: La función siempre evalúa el mismo...
Digamos que las listas se definen como List a = Nil | Cons a (List a) Entonces, en Haskell, List x¿cuál es el mayor o menor punto de fijación? Lo pregunto porque el lfp debería excluir listas infinitas (pero puede compilarlas en Haskell), mientras que el gfp debería excluir las...
En el Capítulo 1 de Fundamentos prácticos para lenguajes de programación , el autor menciona que los árboles de sintaxis abstractos están asociados con géneros . Intuitivamente, los tipos son como los tipos, pero me gustaría saber si tienen una definición precisa. Me alegraría si también se...