Pablo López Olivas, Ernesto Pimentel Sánchez

"UMA Forum: Hacia la Programación Lógica en Lógica Lineal Clásica"

Resumen

Desde su introducción, la Lógica Lineal ha sido ampliamente empleada como fundamento de lenguajes de programación lógica. La principal ventaja de los lenguajes lógico-lineales es que son más expresivos que los basados en diferentes fragmentos de la Lógica Clásica (como las cláusulas de Horn o las fórmulas hereditarias de Harrop), permitiendo la integración declarativa (es decir, en términos estrictamente lógicos) de paradigmas de programación como la orientación a objetos o la concurrencia. El mayor inconveniente que presentan estos lenguajes es que, como consecuencia de su alto grado de indeterminismo, son difíciles de implementar de manera razonablemente eficiente.

En esta charla presentamos UMA Forum, un lenguaje de programación lógico lineal basado en el lenguaje de especificación Forum. En primer lugar, presentaremos la sintaxis del lenguaje y su semántica operacional. Discutiremos después algunos aspectos de implementacion de UMA Forum, en especial el método empleado para eliminar el indeterminismo originado por la asignación de recursos. Finalmente, ilustraremos la expresividad de UMA Forum mediante la presentación de ejemplos de programación que hacen uso de las características lineales de UMA Forum, obteniendo soluciones más elegantes y concisas que los lenguajes lógicos clásicos.

Postscript