Declarative Programming
Title: Declarative Programming
Main Research Question: How can we create a modular system for declarative programming that combines functional and logic programming?
Methodology: The authors propose a framework called Constructor-Based Conditional Rewriting Logic (CRWL), which combines first-order functional and logic programming. They introduce a simplified notion of program module, which can be extended using several mechanisms like hiding, export/import, genericity/instantiati on, and inheritance. They also study different semantics for these modules, including the least model, term models, and other variations.
Results: The authors present two equivalent proof calculi, an algebraic semantics, and an operational semantics for CRWL. They show that their framework can model both deterministic functions and non-deterministic functions. They also demonstrate how to create a modular system using their simplified notion of program module and the mechanisms mentioned above.
Implications: The CRWL framework provides a new way to combine functional and logic programming, which can lead to more expressive and modular programs. The modularity mechanisms proposed by the authors can help in managing the complexity of large programs and promoting code reusability. The different semantics for program modules can also help in understanding the behavior of modular programs and verifying their correctness.
Link to Article: https://arxiv.org/abs/0203006v1 Authors: arXiv ID: 0203006v1