{"title":"Continuation-based parallel implementation of functional programming languages","authors":"J. Giorgi, D. Métayer","doi":"10.1145/91556.91648","DOIUrl":null,"url":null,"abstract":"It has been claimed for a long time that functional languages are attractive candidates for execution on parallel architectures. This belief is based on the fact that functional programs are free of side effects and often contain a great deal of implicit parallelism. However the first parallel implementations of functional languages [Vegdahl 841 didn’t really support this claim because they were based on a somewhat dogmatic view of parallelism : the normal execution mode was supposed to be the parallel mode, the extreme consequence being that each expression might be considered as a process. The uniformity of this approach makes it attractive in theory but it is not really effective (at least in the present state of the art in hardware technology) because it entails significant overhead costs that may outweigh any benefit gained from exploiting parallelism. It is now recognized that a parallel implementation of a functional language must satisfy two criteria in order to be competitive :","PeriodicalId":409945,"journal":{"name":"LISP and Functional Programming","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1990-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"LISP and Functional Programming","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/91556.91648","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6
Abstract
It has been claimed for a long time that functional languages are attractive candidates for execution on parallel architectures. This belief is based on the fact that functional programs are free of side effects and often contain a great deal of implicit parallelism. However the first parallel implementations of functional languages [Vegdahl 841 didn’t really support this claim because they were based on a somewhat dogmatic view of parallelism : the normal execution mode was supposed to be the parallel mode, the extreme consequence being that each expression might be considered as a process. The uniformity of this approach makes it attractive in theory but it is not really effective (at least in the present state of the art in hardware technology) because it entails significant overhead costs that may outweigh any benefit gained from exploiting parallelism. It is now recognized that a parallel implementation of a functional language must satisfy two criteria in order to be competitive :