Tools are explained by classifying into the extension of Prolog, the rest, and the library for Non-logic Programming Language. Classifying is just for convenience. (For example, the languages to be classified into Functional Logic Programming Language may be classified separately according to whether the language has Prolog-like syntax or not. Besides it is clear that whether the syntax is Prolog-like or not is a matter of degree.)
Other information--the kinds of the handled constraints, whether tools continued to be developed and maintained or not, for business or not, pay or free--is attached. Please see each language site for details.
See Application for the system or the library of the constraint base that is specialized in the particular application field.

Language (Prolog Extension)

Language (Non Prolog)

  • Picat -- Multi-paradigm programming language based on B-Prolog engine
  • MiniZinc and FlatZinc -- Open-source constraint modeling language
  • ECLiPSe -- Open-source software system for the cost-effective development and deployment of constraint programming applications
  • Minion -- General-purpose constraint solver
  • The Mozart Programming System -- Environment for Oz Language development
  • Mercury Project
  • JSR-331 -- Constraint Programming API for JAVA
  • Curry (Kiel University) -- Functional Logic Programming Language. The syntax is based on Functional Programming Language Haskell. There are some implementations including interpreter and compiler.
  • HAL(Monash University) -- Functional Logic Programming Language
  • ALF System (Kiel University)
  • The Elf Meta-Language (Carnegie Mellon University)


  • Choco -- Open source Java library
  • Gecode -- Open source C++ library
  • JaCoP -- Open source Java library (distributed under GPL and commercial license?)
  • or-tools (Google) --  Comprehensive OR tool including constraint programming (having interface for Python, Java and .NET)
  • OptaPlanner -- Open source Java library for planning/scheduling problems.
  • Opturion CPX (NICTA) -- Commercial constraint programming tool
  • Numberjack -- CP, SAT and MIP interface for Python
  • iZ-C (NTT DATA SEKISUI SYSTEMS) -- C library (Web page is written in Japanese)
  • Cream (Kobe University) -- Open source Java library
  • Screamer -- Constraint Library of Lisp
  • DragonBreath: An Optimization Engine based on Constraint Programming and Local Search -- in AI-CENTER
  • EXCALIBUR: Adaptive Constraint-Based Agents in Artificial Environments -- in AI-CENTER
  • FaCiLe, Constraint Library for Functional Programming Language OCaml (ENAC,France)
  • JACK -- Constraint Programming for Java and a library for search
  • Cassowary Constraint Solving Toolkit(University of Washington)

Development Tool

Library and Package for The Specific Area

  • Sced: Constraint Based Scene Design -- by Stephen Chenney
  • Amulet(Carnegie Mellon University)-- C++ Library. Successor to Garnet.
  • Garnet(Carnegie Mellon University)-- LISP Library. It stops being developed now. It is succeeded by Amulet.