Re: Simple syntax question

From: Kish Shen <ks15_at_icparc.ic.ac.uk>
Date: Mon 07 Nov 2005 02:07:41 PM GMT
Message-ID: <rqzmogmtzm.fsf@cow.icparc.ic.ac.uk>
Hi Tallys,

>I'm migrating from lib(fd) to lib(ic).
>I need to convert a call like "suspend(_, _, X->fd:any, _)"
>My guess is that "fd:any" would be replaced
>with the union of "ic:min", "ic:max" and "ic:hole". Is that right?

Yes.

>If so, how do I specify more than one list after the "->" symbol?


You don't specify this after the "->" symbol. Instead, the third argument
of suspend/3,4 can be a list of conditions, instead of just one condition.
For example, in the `Advanced Control Features' chapter of the User manual,
there is this example:

            .....
            suspend(report_ic(X), 1, [X->ic:min,X->ic:max,X->ic:hole])

which suspends on exactly the suspension lists you want.

>I couldn't find that in the manuals.

It is not always easy to find the information you need, but in general, if
you have questions about library/built-in predicates, it is a good idea to
check up the reference manual documentation for the predicate, which you
can access from within ECLiPSe with help/1, for example, help suspend/4.
will give you:

suspend(+Goal, +Prio, +CondList, -Susp)
....
Arguments
...
   +CondList           A term of the form Vars->Cond or trigger(Atom) or a
                       list of such terms.

...

also, the `Advanced Control Features' chapter describes how to use the
suspend/wake features of ECLiPSe. 

Cheers,

Kish
Received on Mon Nov 07 14:11:19 2005

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:40 PM GMT GMT