monadiccp-gecode-0.1: examples/TryDemo.hs
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE FlexibleContexts #-}
{-
- Monadic Constraint Programming
- http://www.cs.kuleuven.be/~toms/Haskell/
- Tom Schrijvers & Pieter Wuille
-}
import Control.CP.FD.GecodeExample
main = example_sat_main_void_gecode model
model :: ExampleModel ()
model _ = exists $ \col -> do
[a,b] <- colList col 2
a @: (cte 1, cte 5)
b @: (cte 0, cte 4)
a - b @= 1
(a @= 2) @|| (a @= 3) @|| (a @= 4)
return col