{"title":"宽松的求值和并行性","authors":"G. Tremblay , B. Malenfant","doi":"10.1016/S0096-0551(01)00007-8","DOIUrl":null,"url":null,"abstract":"<div><p>In a companion paper (Tremblay G. Lenient evaluation is neither strict nor lazy. Computer languages 2000; 26:43–66.), we showed that non-strict functional languages were not necessarily lazy. More precisely, non-strict functional languages can be divided into lenient and lazy languages, both types allowing program constructions not directly available in strict functional languages. In this paper, we present <em>parallel</em> models of three evaluation strategies (strict, lenient, and lazy), along with an examination of the impact of these evaluation strategies on the implicit parallelism that can be extracted from programs. These formal semantics, expressed using a parallel notation (<em>π</em>-calculus), make it possible to show why lenient evaluation can be seen as more naturally parallel.</p></div>","PeriodicalId":100315,"journal":{"name":"Computer Languages","volume":"26 1","pages":"Pages 27-41"},"PeriodicalIF":0.0000,"publicationDate":"2000-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0096-0551(01)00007-8","citationCount":"2","resultStr":"{\"title\":\"Lenient evaluation and parallelism\",\"authors\":\"G. Tremblay , B. Malenfant\",\"doi\":\"10.1016/S0096-0551(01)00007-8\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>In a companion paper (Tremblay G. Lenient evaluation is neither strict nor lazy. Computer languages 2000; 26:43–66.), we showed that non-strict functional languages were not necessarily lazy. More precisely, non-strict functional languages can be divided into lenient and lazy languages, both types allowing program constructions not directly available in strict functional languages. In this paper, we present <em>parallel</em> models of three evaluation strategies (strict, lenient, and lazy), along with an examination of the impact of these evaluation strategies on the implicit parallelism that can be extracted from programs. These formal semantics, expressed using a parallel notation (<em>π</em>-calculus), make it possible to show why lenient evaluation can be seen as more naturally parallel.</p></div>\",\"PeriodicalId\":100315,\"journal\":{\"name\":\"Computer Languages\",\"volume\":\"26 1\",\"pages\":\"Pages 27-41\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2000-04-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0096-0551(01)00007-8\",\"citationCount\":\"2\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Computer Languages\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0096055101000078\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Languages","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0096055101000078","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
In a companion paper (Tremblay G. Lenient evaluation is neither strict nor lazy. Computer languages 2000; 26:43–66.), we showed that non-strict functional languages were not necessarily lazy. More precisely, non-strict functional languages can be divided into lenient and lazy languages, both types allowing program constructions not directly available in strict functional languages. In this paper, we present parallel models of three evaluation strategies (strict, lenient, and lazy), along with an examination of the impact of these evaluation strategies on the implicit parallelism that can be extracted from programs. These formal semantics, expressed using a parallel notation (π-calculus), make it possible to show why lenient evaluation can be seen as more naturally parallel.