Skip to content

GitLab

  • Menu
    • Projects Groups Snippets
      Help
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • N ndl
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • pro
  • ndl
  • Wiki
  • specification

specification · Changes

Page history
Update specification authored 6 years ago by Mateusz Ślażyński's avatar Mateusz Ślażyński
Hide whitespace changes
Inline Side-by-side
Showing
with 10 additions and 0 deletions
+10 -0
specification.md
View page @ 3f431662
......@@ -90,3 +90,13 @@ There are several extensions to the NDL query, that can be used in order to incr
NDL Queries can be compiled as stochastic operator. The stochastic mode impacts ordering of the `variable/(2..6)`, `constraint/3`, `range_element/2` results, effectively returning them in a random fashion. It does **not** impact `for_each` generator.
**Warning:** stochastic ndl query always backtracks.
### Memory
Motivation: often one would like to mark a variable as already moved, so the query won't try to change it again. It's not possible to query the memory. It's impossible to remove elements from the memory or query it in a generative manner. This extension adds three additional constructs:
* `remember(+Arg)` - stored argument in the global memory, argument can be any value
* `in_memory(+Arg)` - checks if the argument has ben remembered
* `\+ in_memory(+Arg)` - succeeds if the argument hasn't been remembered
Clone repository
  • 20181018
  • Theory
  • Home
  • knowledge base
  • specification

Menu

Projects Groups Snippets
Help