Proceedings of the 1988 ACM conference on LISP and functional programming最新文献

筛选
英文 中文
Syntactic closures 语法闭包
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62687
Alan Bawden, J. Rees
{"title":"Syntactic closures","authors":"Alan Bawden, J. Rees","doi":"10.1145/62678.62687","DOIUrl":"https://doi.org/10.1145/62678.62687","url":null,"abstract":"In this paper we describe syntactic closures. Syntactic closures address the scoping problems that arise when writing macros. We discuss some issues raised by introducing syntactic closures into the macro expansion interface, and we compare syntactic closures with other approaches. Included is a complete implementation.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115096970","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}
引用次数: 69
The common Lisp object system metaobject kernel: a status report 公共Lisp对象系统元对象内核:状态报告
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62723
D. Bobrow, G. Kiczales
{"title":"The common Lisp object system metaobject kernel: a status report","authors":"D. Bobrow, G. Kiczales","doi":"10.1145/62678.62723","DOIUrl":"https://doi.org/10.1145/62678.62723","url":null,"abstract":"The metaobject kernel of the Common Lisp Object System (CLOS) comprises the classes and methods that define and implement the behavior of the system. Since CLOS is an object-oriented program itself, exposing this kernel allows people to make useful integrated extensions to CLOS without changing the behavior of the system for ordinary programs, and without unwarranted loss of efficiency. This paper is organized around the classes used to implement CLOS, describing reasons for the class organization chosen, and how these classes participate in some protocols of the system.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"128 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115807837","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}
引用次数: 33
Continuations may be unreasonable 延期可能是不合理的
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62685
A. Meyer, J. Riecke
{"title":"Continuations may be unreasonable","authors":"A. Meyer, J. Riecke","doi":"10.1145/62678.62685","DOIUrl":"https://doi.org/10.1145/62678.62685","url":null,"abstract":"We show that two lambda calculus terms can be observationally congruent (i.e., agree in all contexts) but their continuation-passing transforms may not be. We also show that two terms may be congruent in all untyped contexts but fail to be congruent in a calculus with call/cc operators. Hence, familiar reasoning about functional terms may be unsound if the terms use continuations explicitly or access them implicitly through new operators. We then examine one method of connecting terms with their continuized form, extending the work of Meyer and Wand [8].","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"214 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114745082","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}
引用次数: 22
A variable-arity procedural interface 可变过程接口
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62689
R. Dybvig, Robert Hieb
{"title":"A variable-arity procedural interface","authors":"R. Dybvig, Robert Hieb","doi":"10.1145/62678.62689","DOIUrl":"https://doi.org/10.1145/62678.62689","url":null,"abstract":"This paper presents a procedural interface that handles optional arguments and indefinite numbers of arguments in a convenient and efficient manner without resorting to storing the arguments in a language-dependent data structure. This interface solves many of the problems inherent in the use of lists to store indefinite numbers of arguments. Simple recursion can be used to consume such arguments without the complexity problems caused by the use of the Lisp procedure apply on argument lists. An extension that supports multiple return values is also presented.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122106794","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}
引用次数: 7
An implementation of portable standard LISP on the BBN butterfly 便携式标准LISP在BBN蝴蝶上的实现
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62694
M. Swanson, R. Kessler, G. Lindstrom
{"title":"An implementation of portable standard LISP on the BBN butterfly","authors":"M. Swanson, R. Kessler, G. Lindstrom","doi":"10.1145/62678.62694","DOIUrl":"https://doi.org/10.1145/62678.62694","url":null,"abstract":"An implementation of the Portable Standard Lisp (PSL) on the BBN Butterfly is described. Butterfly PSL is identical, syntactically and semantically, to implementations of PSL currently available on the VAX, Gould, and many 68000-based machines, except for the differences discussed in this paper. The differences include the addition of the future and touch constructs for explicit parallelism and an extension of the fluid binding mechanism to support the multiple environments required by concurrent tasks. As with all other PSL implementations, full compilation to machine code of the basic system and application source code is the normal mode, in contrast to the previous byte-code interpreter efforts. Also discussed are other required changes to the PSL system not visible in the syntax or semantics, e.g., compiler support for the future construct. Finally, the underlying hardware is described, and timings for basic operations and speedup results for two examples are given.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121179774","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}
引用次数: 27
Tutorial: abstraction in numerical methods 教程:数值方法的抽象
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62679
G. Sussman, Matthew Halfant
{"title":"Tutorial: abstraction in numerical methods","authors":"G. Sussman, Matthew Halfant","doi":"10.1145/62678.62679","DOIUrl":"https://doi.org/10.1145/62678.62679","url":null,"abstract":"We illustrate how the liberal use of high-order procedural abstractions and infinite streams helps us to express some of the vocabulary and methods of numerical analysis. We develop a software toolbox encapsulating the technique of Richardson extrapolation, and we apply these tools to the problems of numerical integration and differentiation. By separating the idea of Richardson extrapolation from its use in particular circumstances we indicate how numerical programs can be written that exhibit the structure of the ideas from which they are formed.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115405760","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}
引用次数: 5
ML with extended pattern matching and subtypes 具有扩展模式匹配和子类型的ML
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62702
L. Jagadeesan, John C. Mitchell
{"title":"ML with extended pattern matching and subtypes","authors":"L. Jagadeesan, John C. Mitchell","doi":"10.1145/62678.62702","DOIUrl":"https://doi.org/10.1145/62678.62702","url":null,"abstract":"We extend a fragment of the programming language Standard ML by incorporating a more general form of record pattern matching and providing for user-declared subtypes. Together, these two enhancements may be used to support a restricted object-oriented programming style. In keeping with the framework of Standard ML, we present typing rules for the language, and develop an efficient type inference algorithm. We prove that the algorithm is sound with respect to the typing rules, and that it infers a most general typing for every typable expression.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127266792","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}
引用次数: 103
A simple and efficient implmentation approach for single assignment languages 单一赋值语言的一种简单有效的实现方法
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62718
K. Gharachorloo, Vivek Sarkar, J. Hennessy
{"title":"A simple and efficient implmentation approach for single assignment languages","authors":"K. Gharachorloo, Vivek Sarkar, J. Hennessy","doi":"10.1145/62678.62718","DOIUrl":"https://doi.org/10.1145/62678.62718","url":null,"abstract":"Functional and single assignment languages have semantically pure features that do not permit side effects. This lack of side effects makes detection of parallelism in programs much easier. However, the same property poses a challenge in implementing these languages efficiently. A preliminary implementation of a compiler for the single assignment language, SISAL, is described. The compiler uses reference counts for memory management and copy avoidance. Performance results on a wide range of benchmark programs show that SISAL programs compiled by our implementation run 2-3 times slower on average than the same programs written in C, Pascal, and Fortran, and orders of magnitude faster than other implementations of single assignment languages. Extensions of these techniques for multiprocessor implementations are proposed.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126387062","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}
引用次数: 10
Preliminary results with the initial implementation of Qlisp 初步结果与Qlisp的初步实现
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62696
R. Goldman, R. Gabriel
{"title":"Preliminary results with the initial implementation of Qlisp","authors":"R. Goldman, R. Gabriel","doi":"10.1145/62678.62696","DOIUrl":"https://doi.org/10.1145/62678.62696","url":null,"abstract":"Qlisp, a dialect, of Common Lisp, has been proposed as a multiprocessing programming language which is suitable for studying the styles of parallel programming at the medium-grain level. An initial version of Qlisp has been implemented on a multiprocessor and a number of experiments with it conducted. This paper describes the implementation and reports on some of the experiments.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130087767","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}
引用次数: 28
An improved replacement strategy for function caching 改进的函数缓存替换策略
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62719
W. Pugh
{"title":"An improved replacement strategy for function caching","authors":"W. Pugh","doi":"10.1145/62678.62719","DOIUrl":"https://doi.org/10.1145/62678.62719","url":null,"abstract":"Function caching is the technique of remembering previous function calls and avoiding the cost of recomputing them. Function caching provides a simple way of implementing dynamic programming algorithms and can provide a facility for incremental computation. Previous discussions of function caching have generally relied on the user to purge items from the function cache or have proposed a strategy such as least-recently-used without any analysis of the appropriateness of that strategy. We describe a formal model that allows us to describe the potential of a function cache and use that model to develop a practical cache replacement strategy that performs substantially better than currently used strategies. Benchmarks show that in use in an incremental theorem prover, our caching strategy produces almost a factor of four improvement in running time over a system running without function caching and almost a factor of two improvement in running time over a system using a standard cache replacement strategy.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1988-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132930664","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}
引用次数: 35
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信