Constraint logic programming is a programming paradigm that combines features of logic programming and constraint programming. As in regular logic programming, programs are queried about the provability of a goal, which may contain constraints in addition to literals.