The design of a LISP interpreter that allows tail-recursive procedures to be interpreted iteratively is presented at the machine-language level. Iterative interpretation means that, without any program transformations, no environments and continuations will be stacked unless necessary. We apply a specific modification within a traditional stack-oriented version of LISP interpreter, without any non-recursive control structure. The design is compatible with value-cells as well as a-lists LISP processors. We present a complete modified interpreter written itself in LISP and an informal proof that it meets its requirements.
{"title":"Iterative interpretation of tail-recursive LISP procedures","authors":"Patrick Greussay","doi":"10.1145/1411798.1411809","DOIUrl":"https://doi.org/10.1145/1411798.1411809","url":null,"abstract":"The design of a LISP interpreter that allows tail-recursive procedures to be interpreted iteratively is presented at the machine-language level. Iterative interpretation means that, without any program transformations, no environments and continuations will be stacked unless necessary.\u0000 We apply a specific modification within a traditional stack-oriented version of LISP interpreter, without any non-recursive control structure. The design is compatible with value-cells as well as a-lists LISP processors.\u0000 We present a complete modified interpreter written itself in LISP and an informal proof that it meets its requirements.","PeriodicalId":404213,"journal":{"name":"ACM Lisp Bulletin","volume":"122 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1978-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115681829","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Announcements for LISP systems","authors":"R. Johnson, S. S. Muchnick","doi":"10.1145/1411798.1411803","DOIUrl":"https://doi.org/10.1145/1411798.1411803","url":null,"abstract":"","PeriodicalId":404213,"journal":{"name":"ACM Lisp Bulletin","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1978-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129053381","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}