Lenguajes de programación lógica e internet.

Solo disponible en BuenasTareas
  • Páginas : 12 (2845 palabras )
  • Descarga(s) : 0
  • Publicado : 21 de marzo de 2011
Leer documento completo
Vista previa del texto
ENSAYO DE PROGRAMACIÓN DECLARATIVA.
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, puesson 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 lenguajes de programación lógica, como Prolog, eluso de variables lógicas proporciona una alta expresividad. Se hace uso de la unificación sintáctica junto con la resolución SLD, y, al carecer la programación lógica de reescritura no se contempla la igualdad semántica (se puede decir que dos términos tienen propiedades en común, pero no que tengan el mismo significado), así, para conseguir la unificación semántica, hay que hacer uso de launificación sintáctica y la reescritura. Por otro lado nos encontramos con el paradigma funcional, representado por lenguajes como Haskell. La programación funcional se basa en la utilización de funciones matemáticas, haciendo que la tarea del computador sea evaluar expresiones y mostrar el resultado de dicha evaluación, dicho resultado será un valor, no una respuesta en sí misma. En el paradigmafuncional, el método para conseguir la unificación semántica se basa en la unificación sintáctica y la reescritura, al igual que en el paradigma lógico. Al contrario que la programación lógica, la programación funcional no es capaz de devolver valores según sus argumentos. Cada estilo tiene algo que ofrecer al otro. Los lenguajes lógicos poseen la lógica de la unificación y de las variables lógicas. Loslenguajes funcionales poseen la lógica de la igualdad y de las funciones. El objetivo es combinar las mejores características de los lenguajes lógicos y de los funcionales, consiguiendo la integración de paradigmas. De la integración de paradigmas surgen los lenguajes declarativos multiparadigma, así, de la integración del paradigma lógico y del funcional nacen los lenguajes lógico-funcionales.Estos lenguajes obtienen el poder de variables lógicas, buscan y construyen automáticamente la solución de programación lógica, adquiriendo la potencia expresiva de un lenguaje lógico. De la programación funcional toman la expresividad de funciones y tipos, y mayor eficiencia a la hora de evaluar gracias a la reducción determinística de expresiones funcionales. Así mismo se introducen conceptospuramente declarativos, eliminando impurezas del lenguaje.

Los lenguajes lógico-funcionales están basados en narrowing y residuación, dos formas de tratar con la evaluación de expresiones que contienen variables lógicas. El narrowing nos permite realizar la unificación de expresiones mediante la unificación, es la forma de realizar la sustitución justa que nos permita realizar la reducción deexpresiones. Se implementa instanciando las variables del objetivo, y después se da un paso de reducción sobre el mismo.


 

1
 

Cuando aplicamos la técnica de narrowing, si una derivación produce como resultado un valor, hablaremos de derivación de éxito; si por el contrario obtenemos una forma irreducible que no es un valor hablaremos de derivación de fallo. Estas derivaciones se puedenrepresentar mediante árboles de búsqueda. Las posibles derivaciones de narrowing a llevar a cabo a partir del término t, siendo éste la raíz de nuestro árbol, se representan como las ramas del árbol, así mismo las hojas representan el resultado. Generalmente el narrowing es correcto, pero para conseguir la completitud hay que imponer restricciones, es un procedimiento con una alto grado de...
tracking img