I developed a fondness for Constraint Logic Programming when I came into contact with the programming language Trilogy (originally designed in 1987), a combination of three ("Tri-') programming paradigms: procedural, database and logic programming.
Later I found the FormulaOne compiler (www.f1compiler.com, not to be confused with compilations of the results in Formula 1 racing...), which I used for quite a number of years. FormulaOne uses syntax and data types which are very similar to Trilogy, so in this respect FormulaOne can be viewed as a continuation of Trilogy. The following URLs give a survey of the FormulaOne language-cum-compiler and I added a solution to the world-famous 'Zebra Puzzle', also known as 'Einstein's Puzzle':
https://rosettacode.org/wiki/Category:FormulaOne which page incorporates a reference to the 'Zebra Puzzle' and https://rosettacode.org/wiki/Zebra_puzzle#FormulaOne to go directly to this puzzle and its programming logic.
But, after having found a useful Python module, 'python-constraint.py', I turned to logic programming in Python, which some years before had become my main programming language of choice.