[gecode-users] from 3 to 6?

Johannes Waldmann johannes.waldmann at htwk-leipzig.de
Thu Apr 26 17:15:25 CEST 2018


Hi,


I am trying to convert some code that was written
for gecode-3 API up to 6.

The original code is here:
https://github.com/JTiko/monadiccp-gecode/blob/master/Control/CP/FD/Gecode/Interface.hsc

So far, I have this (ICL => IPL, omit "share", add () to some macros -
but this is already guesswork on my part)
https://github.com/jwaldmann/monadiccp-gecode/commit/0ddf6630597b1c734ddcc178cf586b3fd6626b0c

I am now seeing a lot of errors like these:

no matching function for call to ‘branch(HaskellModel&,
Gecode::BoolVarArgs&, Gecode::IntVarBranch, Gecode::IntValBranch)’
...
note:   candidate expects 2 arguments, 4 provided

and I don't know how to fix this. I guess
http://www.gecode.org/doc-latest/reference/PageHowToChange__4.html
is related but I still don't see what to do. Any hints?


On the other hand (This is a separate issue) perhaps I shouldn't.
My motivation is that I want to write Haskell, not C++,
but still use the power of gecode. The "monadic-cp" approach
does look really nice, e.g., note how "exists $ \ y -> ..." creates
a Haskell name (not a string), in
https://github.com/JTiko/monadiccp-gecode/blob/master/examples/LangfordNumber.hs

Perhaps go via minizinc? But that looks like a lot more work
(a fresh back-end for monadic-cp). I am hoping that the API issue
mentioned above could be fixed more easily.


- J.


PS: I tried to run this on travis to show exact build errors
but they only have gecode-5 (in their docker images),
and building 6 from source takes too long (I think they kill the job)
https://travis-ci.org/jwaldmann/monadiccp-gecode



More information about the users mailing list