Journal of the ACM (JACM)
Journal of the ACM (JACM)
Requirements for advanced programming systems for list processing
Communications of the ACM
ACM Computing Surveys (CSUR)
Backtracking in a Generalized Control Setting
ACM Transactions on Programming Languages and Systems (TOPLAS)
Communications of the ACM
Requirements for advanced programming systems for list processing
Communications of the ACM
A model and stack implementation of multiple environments
Communications of the ACM
Control structure aptness: A case study using top-down parsing
ICSE '78 Proceedings of the 3rd international conference on Software engineering
A procedure mechanism for backtrack programming
ACM '76 Proceedings of the 1976 annual conference
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Procedure referencing environments in SL5
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
A Model for Control Structures for Artificial Intelligence Programming Languages
IEEE Transactions on Computers
A model for control structures for artificial intelligence programming languages
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Hi-index | 0.05 |
Primitive operations for backtracking and a technique for their implementation are described. The technique is applicable to all programming languages whose control structure is strictly hierarchical. A general stack model for such languages is presented and a realization of the backtracking primitives is described in terms of this model. The primitives give the user control over which assignments to variables will be 'undone' when backtracking. Moreover, their realization, at each point of choice, does not save the entire current machine state but only a relatively small amount of information sufficient to later reconstruct that machine state. Consequently, the implementation makes efficient use of storage and makes backtracking a practical programming device for dealing with complex problems.