{"title":"逻辑程序设计中的延迟求值","authors":"S. Narain","doi":"10.1109/ICCL.1990.63777","DOIUrl":null,"url":null,"abstract":"A method for bringing the concept of lazy evaluation to logic programming in a rigorous yet efficient manner is presented. Its main advantage over previous methods is its considerable efficiency, from both the theoretical and implementation points of view. It is based on making the SLD-resolution rule of inference directly simulate the behavior of a lazy rewriting interpreter satisfying strong computational properties. It thereby yields a powerful system in which one can program with functions, relations, non-determinism, lazy evaluation, and combinations of these all within a single logical framework. The method can also be viewed as contributing to the design and implementation of lazy rewriting. It introduces lazy, nondeterministic rewriting. It proposes a new method of shrinking the search space of reductions to a single branch. It allows a very simple, yet efficient, implementation in Prolog, so programming of many low-level tasks involved in usual implementations of lazy rewriting is avoided altogether.<<ETX>>","PeriodicalId":317186,"journal":{"name":"Proceedings. 1990 International Conference on Computer Languages","volume":"73 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-03-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"Lazy evaluation in logic programming\",\"authors\":\"S. Narain\",\"doi\":\"10.1109/ICCL.1990.63777\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"A method for bringing the concept of lazy evaluation to logic programming in a rigorous yet efficient manner is presented. Its main advantage over previous methods is its considerable efficiency, from both the theoretical and implementation points of view. It is based on making the SLD-resolution rule of inference directly simulate the behavior of a lazy rewriting interpreter satisfying strong computational properties. It thereby yields a powerful system in which one can program with functions, relations, non-determinism, lazy evaluation, and combinations of these all within a single logical framework. The method can also be viewed as contributing to the design and implementation of lazy rewriting. It introduces lazy, nondeterministic rewriting. It proposes a new method of shrinking the search space of reductions to a single branch. It allows a very simple, yet efficient, implementation in Prolog, so programming of many low-level tasks involved in usual implementations of lazy rewriting is avoided altogether.<<ETX>>\",\"PeriodicalId\":317186,\"journal\":{\"name\":\"Proceedings. 1990 International Conference on Computer Languages\",\"volume\":\"73 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1990-03-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings. 1990 International Conference on Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICCL.1990.63777\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings. 1990 International Conference on Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICCL.1990.63777","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A method for bringing the concept of lazy evaluation to logic programming in a rigorous yet efficient manner is presented. Its main advantage over previous methods is its considerable efficiency, from both the theoretical and implementation points of view. It is based on making the SLD-resolution rule of inference directly simulate the behavior of a lazy rewriting interpreter satisfying strong computational properties. It thereby yields a powerful system in which one can program with functions, relations, non-determinism, lazy evaluation, and combinations of these all within a single logical framework. The method can also be viewed as contributing to the design and implementation of lazy rewriting. It introduces lazy, nondeterministic rewriting. It proposes a new method of shrinking the search space of reductions to a single branch. It allows a very simple, yet efficient, implementation in Prolog, so programming of many low-level tasks involved in usual implementations of lazy rewriting is avoided altogether.<>