Abstract
The premise of this paper asserts that the source code of software programs must preserve the underlying domain knowledge in the form of declarative domain models and fully exploit the capacity of satisfiability solvers, or constraint solvers in general, to get solutions of domain-specific problem instances so as to interleave data processing with such problem-solving techniques. This way of contemplating programming upsets the usual practice of software developers and lays the foundation for an original programming paradigm that has begun to take root in a novel family of programming languages classified under the name solver-aided programming language. This paper explores and compares three of them: αRby, ProB, and Rosette. It highlights the wide spectrum of ideas and features that emerged from these research efforts. It reveals how these initial attempts provide valuable clues for how best to design a new generation of programming languages notwithstanding the current limitations of αRby, ProB, and Rosette to fully achieve the goal conveyed by the above premise.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.