Lenguajes de programación lógica e internet.
LENGUAJES DE PROGRAMACIÓN LÓGICA E INTERNET.
María José Gálvez Trigo.
El tema que nos ocupa en este ensayo es: los lenguajes de programación lógica e Internet. Primeramente haremos una breve introducción a la programación lógica y la programación funcional, para pasar a hablar de los lenguajes multiparadigma, en concreto de los lógico-funcionales, pues son los usados para la programación en Internet. También hablaremos de Curry, un ejemplo de lenguaje lógico-funcional usado para la programación en Internet, y de las aplicaciones que nos ofrece dicho lenguaje.
La programación lógica consiste en la aplicación del conocimiento sobre la lógica para el diseño de lenguajes de programación. En los …ver más…
Para mejorar ciertos aspectos recurrimos a las llamadas estrategias de narrowing. Hay numerosas estrategias para reducir el campo de búsqueda, eliminando ciertas derivaciones innecesarias, lo que nos ahorraría tiempo y proporcionaría eficiencia, pero aquí hablaremos sobre todo del lazy narrowing y del needed narrowing.
El lazy narrowing se hereda de la parte funcional, de Haskell, como una ventaja que garantiza la terminación siempre que esto sea posible y resulte eficiente, y requiere menos pasos que otras estrategias. Comienza a reducir las expresiones por su exterior, desde la posición más externa en la cual podemos dar un paso de narrowing, así sólo aplicaremos pasos de narrowing a las posiciones internas si es necesario y ayuda a un paso de narrowing posterior sobre una posición más externa. Este procedimiento de basa en la unificación lineal. La unificación lineal difiere de la sintáctica estándar en que en la lineal, la colisión entre un símbolo de operación y un constructor solicita una mayor evaluación, no significa un fracaso, no precisamos de mecanismos de “occur.check”. Esta estrategia reduce el espacio de búsqueda del narrowing general, pero aún así seguimos teniendo problemas de cómputos innecesarios y derivaciones redundantes, así como tener que recurrir