Re: Strange problem with dom/2 pred of fd constraint solver

From: Paulo Moura <pmoura_at_noe.ubi.pt>
Date: Fri 01 Mar 2002 03:30:14 PM GMT
Message-Id: <39EAA3DE-2D29-11D6-B547-00039315BB3A@noe.ubi.pt>
Hi Joachim!

Thanks for your quick and detailed answer!

> ...
> I had a look and it turns out that the functor dom/2 has a portray-
> transformation attached, in order to print domains more nicely.
> A portray-transformation is a transformation that is applied
> whenever a term with that functor is printed, e.g.

Can this behaviour have changed in the latest Eclipse version? Using 
Eclipse 5.3 on a NT4 box I'm unable to reproduce the problem. Compiling 
the folling object:

========== test.lgt ==========
:- lib(fd)


:-object(test).

	:- public(test/0).

	test:-
		X::[1..10],
		{(fd:dom(X,List))}.

:-end_object.
=============================

  results in this Prolog file:

========== test.pl ===========
:- op(600, xfy, ::).
:- op(600, fy, ::).
:- op(600, fx, ^^).
:- lib(fd).
:- dynamic test0__ddcl / 4.
:- dynamic test0__ddef / 5.
test0_(test0__dcl, test0__def, test0__super, test0__idcl, test0__idef, 
test0__ddcl, test0__ddef).
test0__dcl(test, p(p(p)), static, no).
test0__dcl(_3231, _3232, _3233, _3234, test, test) :- test0__dcl(_3231, 
_3232, _3233, _3234).
test0__dcl(_3230, _3231, _3232, _3233, test, test) :- test0__ddcl(_3230, 
_3231, _3232, _3233).
test0__def(test, _3229, _3230, _3231, test0_test0(_3229, _3230, _3231)).
test0__def(_3231, _3232, _3233, _3234, _3235, test) :- test0__def(_3231, 
_3232, _3233, _3234, _3235).
test0__def(_3231, _3232, _3233, _3234, _3235, test) :- 
test0__ddef(_3231, _3232, _3233, _3234, _3235).
test0__super(_3230, _3231, _3232, _3233, _3234, _3235) :- fail.
test0_test0(_3230, _3231, _3232) :- lgt_send_to_object(_3240, [1 .. 10], 
_3231), fd : dom(_3240, _3252).
:- lgt_assert_relation_clauses([lgt_current_object_(test, test0_, 
test0__dcl, test0__def, test0__super)]).
==============================

However the Logtalk user that found the problem gets something like:

...
test0_test0(_2204, _2205, _2206) :- lgt_send_to_object(_2211, [1..10], 
_2205), fd : _2244.
...

Thanks for your help and time. Cheers,

Paulo


-----------------------------------------------------------
Paulo Jorge Lopes de Moura
Dep. of Informatics                   Office 4.3  Ext. 3257
University of Beira Interior          Phone: +351 275319700
6201-001 Covilhã                      Fax:   +351 275319732
Portugal

mailto:pmoura@noe.ubi.pt
http://www.ci.uc.pt/logtalk/pmoura.html
-----------------------------------------------------------
Received on Fri Mar 01 15:30:15 2002

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:13 PM GMT GMT