declarative programming 2 Constraint satisfaction and the colouring problem Jun 14, 2024 Haskell introduction Aug 23, 2023