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