A Logical Framework for the Algorithmic Debugging of Lazy Functional-Logic Program

نویسندگان

  • Rafael Caballero
  • Francisco Javier López-Fraguas
  • Mario Rodríguez-Artalejo
چکیده

Traditional debugging techniques are not well suited for lazy functional programming, because of the diicult-to-predict evaluation order. Therefore, declarative debugging techniques have been proposed, which allow to focus on the intended meaning of programs, abstracting away operational concerns. Similar techniques are known also for logic programming and for combined functional logic languages. The aim of this paper is to provide theoretical foundations for the declarative debug-ging of wrong answers in lazy functional logic programming. We propose a logical framework which formalizes both the intended meaning and the execution model of programs in a simple language which combines the expressivity of pure Prolog and a signiicant subset of Haskell. As a novelty w.r.t. previous related works, we obtain a completely formal speciication of the debugging method. In particular, we extend known soundness and completeness results for the debugging of wrong answers in logic programming to a substantially more diicult context. This work should serve as a clear guideline for a future prototype implementation of a debugging system.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs

The aim of this paper is to provide theoretical foundations for the declarative debugging of wrong answers in lazy functional logic programming. We rely on a logical framework which formalizes both the intended meaning and the execution model of programs in a simple language which combines the expressivity of pure Prolog and a signi cant subset of Haskell. As novelties w.r.t. to previous relate...

متن کامل

A Declarative Debugging System for Lazy Functional Logic Programs

We present a declarative debugger for lazy functional logic programs with poly-morphic type discipline. Whenever a computed answer is considered wrong by theuser (error symptom), the debugger locates a program fragment (function definingrule) responsible for the error. The notions of symptom and error have a declara-tive meaning w.r.t. to an intended program semantics. Debug...

متن کامل

Observing Functional Logic Computations

A lightweight approach to debugging functional logic programs by observations is presented, implemented for the language Curry. The Curry Object Observation System (COOSy) comprises a portable library plus a viewing tool. A programmer can observe data structures and functions by annotating expressions in his program. The possibly partial values of observed expressions that are computed during p...

متن کامل

Declarative Debugging of Functional Logic Programs

We present a general framework for the declarative debugging of functional logic programs, which is valid both for eager as well as lazy programs. We associate with our programs a semantics based on a (continuous) immediate consequence operator which models computed answers. Then we show that, given the intended speciication of a program P, it is possible to check the correctness of P by a sing...

متن کامل

Declarative Debugging of Lazy Functional Programs

We show how declarative (or algorithmic) debugging can be applied to lazy functional programming and describe a prototype implementation. We rst present a declarative debugger for logic programs which relies on three primitives that determine if an atom is valid in the intended interpretation, return the successful clause instance used by a call and return single atoms from a conjunction of ato...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2000