Dear Clojure community,

clojure2minizinc provides an interface between state-of-the-art constraint 
solvers (via MiniZinc) and Clojure. The clojure2minizinc user models in 
Clojure constraint satisfaction or optimisation problems over Boolean, 
integer, real number, and/or set variables. clojure2minizinc translates 
them into MiniZinc, they are solved in the background by a 
FlatZinc-compatible solver, and the result is read back into Clojure. 
clojure2minizinc code can be very similar to the corresponding MiniZinc 
code, but in addition the full power of Clojure is at hand.

In the Clojure community there already exists an interest in Constraint 
Programming (and the related Logic Programming paradigm), and solvers have 
been developed for Clojure. In contrast to core.logic, clojure2minizinc 
does not support Logic Programming (e.g., it does not provide unification 
of arbitrary terms), but focusses on Constraint Programming only. Also 
unlike core.logic, clojure2minizinc does not implement any new solver from 
scratch. 

MiniZinc provides an interface to a range of existing state-of-the-art 
constraint solvers, and supports Constraint Programming in a clear more 
mature way than core.logic -- clojure2minizinc inherits its capabilities. 
MiniZinc supports several variable domains (Booleans, integers, floats, and 
set of integers), a rich set of constraints (including many global 
constraints), reified constraints (i.e., the truth value of constraints can 
in turn be constrained by logic relations such as implication or 
equivalence), and optimisation support. Perhaps most importantly, 
MiniZinc's 3rd-party solvers implement highly efficient search strategies.

This is the very first release. clojure2minizinc is far from being 
finished, but enough is already working that it might be interesting :)

For more information including installation details please visit
http://tanders.github.io/clojure2minizinc/

A tutorial is available at 
http://tanders.github.io/clojure2minizinc/tutorial.html

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to