Una aproximación al fallo en programación declarativa multiparadigma

2004 
La negacion en programacion logica es un tema ampliamente investigado desde los inicios de este estilo de programacion. En este trabajo se estudia un recurso similar para la programacion logico-funcional. La contrapartida natural a la negacion en el contexto logico-funcional es el fallo en la reduccion, que es donde se centra la tesis. Se toma como referencia la negacion constructiva de la programacion logica, que es capaz de encontrar valores para las variables de los objetivos, y en ese mismo sentido, se hace una propuesta de fallo constructivo. En el marco logico-funcional, el fallo tiene ademas otros usos interesantes, como las reglas por defecto o la recoleccion de valores. La investigacion toma como punto de partida la logica de reescritura del marco CRWL, un formalismo bien establecido y estudiado para el paradigma logico-funcional. El fallo se incorpora a traves de una logica orientada a la reduccion conjuntista, elaborando las nociones y propiedades se tiene que una prueba de fallo en esta logica corresponde a una prueba de fallo en esta logica corresponde a una prueba de indemostrabilidad con respecto a la logica de CRWL, con lo que el fallo adquiere una caracterizacion semantica precisa. Como mecanismo operacional se construye una relacion de estrechamiento que tambien se apoya en la vision conjuntista. Para facilitar la presentacion, esta construccion se lleva a cabo en dos etapas: en la primera se descarta la igualdad, que despues se analiza como relacion aislada y se funde con el mecanismo global de estrechamiento. Por ultimo, se estudia la implementacion efectiva del fallo en programacion logico-funcional. Es sencillo extender un lenguaje como TOY o Curry con fallo no constructivo plantea serias dificultades debido al mecanismo de reduccion que utilizan estos sistemas. Por ello, se disena el prototipo experimental OOPS con un mecanismo de reduccion basado en la semantica con
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    0
    References
    4
    Citations
    NaN
    KQI
    []