<< Prev | - Up - |
This section contains procedures dedicated to feature constraints.
^
{Record.'^'
R
+LI
X
}
tells the constraint store that R
is a record having field X
at feature LI
.
Is supported by the infix operator ^
, that is
{Record.'^'
R
LI
X
}
can also be written as
R
^
LI
=
X
IsRecordC
{IsRecordC
*X
?B
}
tests whether X
has kind record.
TellRecord
{TellRecord
+L
?R
}
tells the constraint store that R
is a record with label L
.
WidthC
{WidthC
*R
?D
}
posts a propagator for the constraint that D
is the width of R
. Also tells the constraint store that D
is a finite domain integer.
reflectArity
{Record.reflectArity
*R
?LIs
}
returns a list LIs
containing the currently known features of R
.
monitorArity
{Record.monitorArity
*R
?P
?LIs
}
returns a nullary procedure P
and a stream LIs
containing the currently known features of R
.
Features appear in the stream as soon as they become known to the constraint store. Application of P
closes the stream and deletes the propagator. The stream is automatically closed once the constraint store determines R
.
<< Prev | - Up - |