On the Role of Functional-logic Languages for the Debugging of Imperative Programs.
Ángel Herranz, Juan José Moreno-Navarro · 2000
The paper presents some aspects of the debugging subsystem of the ongoing project SLAM where the language Curry plays a significant role. The SLAM project is an attempt to amalgamate most of the best facilities of declarative languages to the development of imperative programs. The SLAM system is composed by i) an object oriented specification language. (Functional style) Rules are used to define class operations each of them with logical pre and post-conditions. ii) A development environment that, among other features, is able to generate readable code in a high level object oriented (imperative) language. iii) The generated code includes (part of) the pre and post-conditions as assertions, that can be automatically checked in the debug mode execution of programs.