Impedance MismatchImpedance mismatch can be a significant impediment to simple specification and execution of code. Imagine what life might be like if one stored a database in FoxPro, implemented queries in SQL, and wrote special-purpose C code to compute with the retrieved data. There are situations where this sort of approach is unavoidable, and something like it may even be desirable if it forms the basis for computing across multiple, heterogeneous, federated systems. But in other instances there is no need for such a fragmented approach.
However, the need to easily represent and manipulate complex entities in complicated ways
remains. It is in this area that
logic programming languages
can offer alternatives. One such language, LDL, was explicitly designed to implement
databases. The phenomenon of impedance mismatch and LDL are described in:
LDL: A Logical Language for Data and Knowledge Bases, Shamim Naqvi and Shalom Tsur. Computer Science Press, Rockville MD, 1989.