ECLiPSe — constraint logic programming system