{"title":"编译函数语言的冯诺依曼机器","authors":"U. Honschopp, W. Lippe, F. Simon","doi":"10.1145/800226.806848","DOIUrl":null,"url":null,"abstract":"Functional programming languages based on the lambda calculus provide a powerful programming tool. Much of this power derives from the ability to use higher order functions, that means functions having either functional arguments or a functional result. However, attempts to implement such higher order functions without any restrictions have always been expensive, both in storage and time (e.g. [Bo/We]).\n ALGOL-like languages only have functions with functional arguments (e.g. ALGOL 60 or, with some mode restrictions, PASCAL) and a run time stack can be used for managing function and procedure calls. Using Dijkstra's “display-technique” we can obtain a simple and efficient implementation.","PeriodicalId":414056,"journal":{"name":"SIGPLAN Conferences and Workshops","volume":"16 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1983-06-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Compiling functional languages for von Neumann machines\",\"authors\":\"U. Honschopp, W. Lippe, F. Simon\",\"doi\":\"10.1145/800226.806848\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Functional programming languages based on the lambda calculus provide a powerful programming tool. Much of this power derives from the ability to use higher order functions, that means functions having either functional arguments or a functional result. However, attempts to implement such higher order functions without any restrictions have always been expensive, both in storage and time (e.g. [Bo/We]).\\n ALGOL-like languages only have functions with functional arguments (e.g. ALGOL 60 or, with some mode restrictions, PASCAL) and a run time stack can be used for managing function and procedure calls. Using Dijkstra's “display-technique” we can obtain a simple and efficient implementation.\",\"PeriodicalId\":414056,\"journal\":{\"name\":\"SIGPLAN Conferences and Workshops\",\"volume\":\"16 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1983-06-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"SIGPLAN Conferences and Workshops\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/800226.806848\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"SIGPLAN Conferences and Workshops","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/800226.806848","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Compiling functional languages for von Neumann machines
Functional programming languages based on the lambda calculus provide a powerful programming tool. Much of this power derives from the ability to use higher order functions, that means functions having either functional arguments or a functional result. However, attempts to implement such higher order functions without any restrictions have always been expensive, both in storage and time (e.g. [Bo/We]).
ALGOL-like languages only have functions with functional arguments (e.g. ALGOL 60 or, with some mode restrictions, PASCAL) and a run time stack can be used for managing function and procedure calls. Using Dijkstra's “display-technique” we can obtain a simple and efficient implementation.