Lowering the learning curve for declarative programming: a Python API for the IDP system
This work addresses the accessibility problem for programmers, particularly in educational or practical settings, by making a state-of-the-art logical system more approachable, though it is incremental as it builds on existing IDP technology.
The paper tackles the high learning curve of declarative programming by introducing a Python API for the IDP system, enabling Python programmers to use IDP's declarative capabilities without learning new syntax and allowing easy integration into existing codebases.
Programmers may be hesitant to use declarative systems, because of the associated learning curve. In this paper, we present an API that integrates the IDP Knowledge Base system into the Python programming language. IDP is a state-of-the-art logical system, which uses SAT, SMT, Logic Programming and Answer Set Programming technology. Python is currently one of the most widely used (teaching) languages for programming. The first goal of our API is to allow a Python programmer to use the declarative power of IDP, without needing to learn any new syntax or semantics. The second goal is allow IDP to be added to/removed from an existing code base with minimal changes.