Co-recursion is the ability of defining a function that produces some infinite data in terms of the function and the data itself, and is typically supported by languages with lazy evaluation. However, in languages as Haskell strict operations fail to terminate even on infinite regular data. Regular co-recursion is naturally supported by co-inductive Prolog, an extension where predicates can be interpreted either inductively or co-inductively, that has proved to be useful for formal verification, static analysis and symbolic evaluation of programs. In this paper we propose two main alternative vanilla meta-interpreters to support regular co-recursion in Prolog as an interesting programming style in its own right, able to elegantly solve prob...
Although Prolog is (still) the most widely used logic language, it suffers from a number of drawback...
The logic programming language framework Kernel Andorra Prolog is defined by a formal computation mo...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Recursive definitions of predicates are usually interpreted either inductively or coinductively. Rec...
Recently, several papers dealing with co-inductive logic programming have been proposed, dealing wit...
In this paper we present several extensions to support a more declarative view of programming in Pro...
We introduce a generalized logic programming paradigm where programs, consisting of facts and rules ...
Abstract. We provide here a systematic comparative study of the relative strength and expressive pow...
This paper describes a high-level implementation of the concurrent constraint functional logic lang...
AbstractA widely used property of Prolog is that it is possible to write Prolog programs to construc...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
We describe an editor geared to recursive Prolog procedures. It is similar to the structure editors ...
We study a powerful class of logic programs which terminate for a large class of goals. Both classes...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
Although Prolog is (still) the most widely used logic language, it suffers from a number of drawback...
The logic programming language framework Kernel Andorra Prolog is defined by a formal computation mo...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...
Recursive definitions of predicates are usually interpreted either inductively or coinductively. Rec...
Recently, several papers dealing with co-inductive logic programming have been proposed, dealing wit...
In this paper we present several extensions to support a more declarative view of programming in Pro...
We introduce a generalized logic programming paradigm where programs, consisting of facts and rules ...
Abstract. We provide here a systematic comparative study of the relative strength and expressive pow...
This paper describes a high-level implementation of the concurrent constraint functional logic lang...
AbstractA widely used property of Prolog is that it is possible to write Prolog programs to construc...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
We describe an editor geared to recursive Prolog procedures. It is similar to the structure editors ...
We study a powerful class of logic programs which terminate for a large class of goals. Both classes...
AbstractIn Constructive Type Theory, recursive and corecursive definitions are subject to syntactic ...
In Constructive Type Theory, recursive and corecursive definitions are subject to syntactic restrict...
Although Prolog is (still) the most widely used logic language, it suffers from a number of drawback...
The logic programming language framework Kernel Andorra Prolog is defined by a formal computation mo...
The purpose of this article is twofold. First, we show that Prolog's control constructs can be smoot...