Este estilo de programación se centra en describir cómo resolver un problema mediante una secuencia de instrucciones.
¿Qué es la Programación Imperativa?
En programación funcional, una función que puede tomar otras funciones como argumentos o devolver una función como resultado
¿Qué es una Función de Orden Superior?
La unidad básica de conocimiento en la programación lógica, usualmente escrita en la forma "A si B y C", que es una disyunción de literales con exactamente un literal positivo
¿Qué es una Cláusula de Horn?
En el modelo de programación lógica, es el conjunto de hechos y reglas que definen el conocimiento sobre un dominio.
¿Qué es la Base de Cláusulas o Base de Conocimiento?
La propiedad de las funciones que indica que no tienen efectos secundarios observables y devuelven el mismo resultado para los mismos argumentos.
¿Qué es la Transparencia Referencial?
Esta estructura de datos fundamental en la programación funcional se define recursivamente como vacía o una cabeza seguida de una cola
¿Qué es una Lista?
La lógica matemática que se utiliza como base teórica para la programación lógica, permitiendo cuantificadores y predicados.
¿Qué es la Lógica de Primer Orden?
Este concepto se refiere a la forma en que una consulta o goal es satisfecha al explorar las posibles unificaciones en el árbol de búsqueda de Prolog.
¿Qué es el Espacio de Búsqueda?
El proceso de determinar el tipo de una expresión en tiempo de compilación para prevenir errores antes de la ejecución.
¿Qué es la Verificación Estática de Tipos?
Operador de listas que aplica una función a cada elemento de una lista y devuelve una nueva lista con los resultados.
¿Qué es map (o su equivalente en lenguajes funcionales)?
El mecanismo central en Prolog que intenta hacer coincidir dos términos, instanciando variables si es necesario para hacerlos idénticos.
¿Qué es la Unificación?
La forma de conocimiento donde todas las expresiones lógicas se reescriben como disyunciones de literales
¿Qué es la Representación Clausada del Conocimiento?
En la evaluación de expresiones, este orden evalúa primero los argumentos de una función y luego la función misma
¿Qué es la Evaluación Ansiosa (Eager Evaluation) o Aplicativa (Applicative Order)?
Técnica donde una expresión no se evalúa hasta que su valor es realmente necesario, una característica clave de lenguajes como Haskell.
¿Qué es la Evaluación Perezosa (Lazy Evaluation)?
Algoritmo de deducción utilizado en Prolog para encontrar una refutación a una meta, basado en la unificación y la selección lineal de cláusulas.
¿Qué es la Resolución SLD (Selective Linear Definite clause)?
El mecanismo de Prolog que permite encontrar soluciones alternativas a una consulta, explorando las ramas del árbol de búsqueda
¿Qué es el Backtracking (o Retroceso)?
Sistema de tipos que impone reglas estrictas sobre el uso de tipos de datos, asegurando que las operaciones solo se realicen en tipos compatibles, un pilar de la corrección del programa.
¿Qué es una Disciplina de Tipos Fuerte?
Además de las listas, esta estructura de datos recursiva se utiliza en la programación funcional para representar jerarquías y se define como un nodo o un nodo con subárboles
¿Qué es un Árbol?
El proceso de inferencia que, dada una base de cláusulas de Horn y una meta, determina si la meta es una consecuencia lógica de la base de conocimientos.
¿Qué es la Resolución (como principio de inferencia)?
Un tipo de predicado que afecta el proceso de inferencia o el entorno del programa lógico, en lugar de solo la verdad lógica (ej. write, assertz o cut).
¿Qué son los Predicados Metalingüísticos o Mitológicos?