Journal of the ACM (JACM)
Journal of the ACM (JACM)
New Programming Languages for Artificial Intelligence Research
ACM Computing Surveys (CSUR)
A model and stack implementation of multiple environments
Communications of the ACM
Micro-Planner Reference Manual
Micro-Planner Reference Manual
LISP 1.5 Programmer's Manual
From PLANNER to CONNIVER: a genetic approach
AFIPS '72 (Fall, part II) Proceedings of the December 5-7, 1972, fall joint computer conference, part II
Magma2: a language oriented toward experiments in control
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
ACM Computing Surveys (CSUR)
Backtracking in a Generalized Control Setting
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Semantics of Ugo Montanari
Concurrency, Graphs and Models
Concurrent applicative implementations of nondeterministic algorithms
Computer Languages
Hi-index | 48.22 |
The basic ideas of nondeterministic programming are critically reconsidered to single out a proper attitude and programming style for languages allowing direct control of nondeterministic features. The proposed attitude aims at retaining the purity of the nondeterministic formulation of search processes on one level (the attempt level), deferring the coordination of problem solving efforts to another (the choice level). The feasibility of recognizing these two levels is discussed, stressing that the structure to be managed at the choice level is a tree of contexts. The leaves are computational environments, each holding an alternative under inspection, while the other nodes are associated with choice points. According to the proposed programming style, a generative function is associated with each choice point, which expresses the desired choice strategy. The main advantage of this approach is the localization of the search strategies: Each nonterminal node of the tree keeps track of the state of the computation as it was when the choice point was last interrogated, holding at the same time the strategy to coordinate the available alternatives. Examples are given in term of ND-Lisp, an extension of Lisp designed and implemented according to these guidelines.