Relational Programming in Libra

Libra is a general-purpose programming language based on the algebra of binary relations. It attempts to unify functional and logic programming, retaining the advantages of both, and avoiding some of the problems. It has all the features needed of a programming language, and a straightforward semantic interpretation. Since program speciications are easily expressed as relations, it ooers a simple path from a speciication to a program and from the program to its proof of correctness. The algebra of binary relations has several operators whose eeects are like those of familiar procedural language constructs, for example, relational composition is analogous to sequential execution. The Libra language is illustrated by its application to a simple programming exercise. Some conclusions are drawn.

[1]  W. Daniel Hillis,et al.  The connection machine , 1985 .

[2]  Robin Milner,et al.  A Theory of Type Polymorphism in Programming , 1978, J. Comput. Syst. Sci..

[3]  David Michael Cattrall The design and implementation of a relational programming system , 1992 .

[4]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[5]  B. J. MacLenna Four relational programs , 1988 .

[6]  Bruce J. MacLennan Overview of relational programming , 1983, SIGP.

[7]  John G. Sanderson A Relational Theory of Computing , 1980, Lecture Notes in Computer Science.