[erlang-questions] Is erlang suitable to handle Constraint satisfaction problems ?

Michael Turner <>
Thu Nov 5 04:47:24 CET 2009


On 11/4/2009, "Richard O'Keefe" <> wrote:

>As others have noted, modern Prolog systems like SICStus,
>Eclipse, and SWI often support contraint programming.

I pointed out ECLiPSe as being probably more appropriate for the needs of
the original inquirer, especially since it's
Prolog-for-constraint-programming-until-the-cows-come-home.

The inevitable afterthought arrived: sometimes constraint programming has
highly parallelizable stages, and for very large problems, good
concurrency support could be a big help.  So I went looking for how
ECLiPSe might manage concurrency and found this, at
http://www.eclipse-clp.org/:

"ECLiPSe programs can execute in or-parallel on shared-memory
multiprocessor hardware (this functionality is currently not actively
maintained because of other priorities)."

If the maintainer can't tell you that his app is broken in a certain
respect, it means it's almost certainly broken in that respect.

To qualify my first recommendation: ECLiPSe is probably better IF you
don't need parallelized solvers.  Maybe there's something worth doing
with Erlang in this application space for big, highly parallelizable
constraint programming.  ECLiPSe-over-Erlang would be so ridiculously
powerful that somebody might write Skynet in it by accident.  If only I
weren't so wrapped up right now in this project of implementing TECO in
Erlang ...

-michael turner

P.S. The last two sentences of the above were meant in jest, just in case
anybody found them confusing.  Especially the one referring to Skynet;
everybody knows that Skynet would have to be written in Emacs Lisp.



On 11/4/2009, "Richard O'Keefe" <> wrote:

>Actually, there was a (masters?) thesis on constraints in Erlang
>years and years ago.  Thank you Google:
>An Extension of Erlang with Finite-Domain Constraints
>www.erlang.se/publications/xjobb/finite-domain-erlang.ps.gz
>
>Dan Sahlin wrote:
>	An experiment has also been carried out adding
>	finite domain constraints to Erlang.  The work showed
>	that although constraint programming does not fit so
>	well into the functional programming framework, it
>	was quite feasible to do.  As telecom applications
>	seem to lack the need for constraint solving, the
>	system will not be included in current releases of
>	the [Erlang/OTP] system.
>
>I suspect that "lack the need for" may really mean "are not
>yet written by people aware of the utility of".  See
>http://www.starlikedesign.com/
>for one possible counter-example.  So I hope that the code
>hasn't been lost or bitrotted too much to be salvaged.
>
>As others have noted, modern Prolog systems like SICStus,
>Eclipse, and SWI often support contraint programming.
>Much depends on what _kind_ of constraints you have to deal with
>and the scale of the problem.
>>>
>
>
>________________________________________________________________
>erlang-questions mailing list. See http://www.erlang.org/faq.html
>erlang-questions (at) erlang.org
>
>


More information about the erlang-questions mailing list