Content deleted Content added
Cybercobra (talk | contribs) m dab |
m I have put the link to Nondeterminism from its so far rather arbitrary place to the "See also" section. |
||
Line 2:
{{Programming paradigms}}
A '''nondeterministic programming''' language is a [[programming language|language]] which can specify, at certain points in the program (called "choice points"), various alternatives for [[Control flow|program flow]]. Unlike an [[Conditional (programming)|if-then statement]], the method of
One method of choice is embodied in [[backtracking]] systems (such as [http://mitpress.mit.edu/sicp/full-text/sicp/book/node91.html AMB], or unification in [[Prolog]]), in which some alternatives may "fail," causing the program to backtrack and try other alternatives. If all alternatives fail at a particular choice point, then an entire branch fails, and the program will backtrack further, to an older choice point. One complication is that, because any choice is tentative and may be remade, the system must be able to restore old program states by undoing side-effects caused by partially executing a branch that eventually failed.
Line 9:
==See also==
*[[Nondeterminism]]
*[[:Category:Nondeterministic programming languages|Nondeterministic programming languages]]
|