... | ... | @@ -131,7 +131,7 @@ This extension adds additional constructs: |
|
|
* all from the normal semantics
|
|
|
* `violated(+Name:name, ?Arg1:arg1(Name), ?Arg2:arg2(Name)) is nondet` - finds a violated constraint named `Name` if there is any. Otherwise it fails.
|
|
|
* loop `for_each(violated(+Name:name, ?Arg1:arg1(Name), ?Arg2:arg2(Name)), +Query:query)`
|
|
|
* loop `while(violated(+Name:name, ?Arg1:arg1(Name), ?Arg2:arg2(Name)), +Query:query)` - a common patter used in the neighborhood operators.
|
|
|
* loop `while(violated(+Name:name, ?Arg1:arg1(Name), ?Arg2:arg2(Name)), +Query:query)` - a common pattern used in the neighborhood operators.
|
|
|
|
|
|
**Warning** using generative semantics adds an overhead to all operations modifying the solution.
|
|
|
|
... | ... | |