a simple, and yet powerful, logic-based multi-paradigm programming language