Journal of the ACM (JACM)
Journal of the ACM (JACM)
Requirements for advanced programming systems for list processing
Communications of the ACM
ACM Transactions on Programming Languages and Systems (TOPLAS)
Structure of an efficient duplex memory for processing fault-tolerant programs
ISCA '78 Proceedings of the 5th annual symposium on Computer architecture
A procedural approach to pattern matching in SNOBOL4
ACM '74 Proceedings of the 1974 annual conference - Volume 1
Backtracking in MLISP2: an efficient backtracking method for LISP
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
Hi-index | 0.00 |
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 assignents 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 progamming device for dealing with complex problems.