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

筛选
英文 中文
Object-oriented programming in scheme 面向对象程序设计
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62720
N. Adams, J. Rees
{"title":"Object-oriented programming in scheme","authors":"N. Adams, J. Rees","doi":"10.1145/62678.62720","DOIUrl":"https://doi.org/10.1145/62678.62720","url":null,"abstract":"We describe a small set of additions to Scheme to support object-oriented programming, including a form of multiple inheritance. The extensions proposed are in keeping with the spirit of the Scheme language and consequently differ from Lisp-based object systems such as Flavors and the Common Lisp Object System. Our extensions mesh neatly with the underlying Scheme system. We motivate our design with examples, and then describe implementation techniques that yields efficiency comparable to dynamic object-oriented language implementations considered to be high performance. The complete design has an almost-portable implementation, and the core of this design comprises the object system used in T, a dialect of Scheme. The applicative bias of our approach is unusual in object-oriented programming systems.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"73 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":"117004583","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}
引用次数: 52
Parallel execution of sequential scheme with ParaTran 用ParaTran并行执行顺序方案
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62682
Pete Tinker, M. Katz
{"title":"Parallel execution of sequential scheme with ParaTran","authors":"Pete Tinker, M. Katz","doi":"10.1145/62678.62682","DOIUrl":"https://doi.org/10.1145/62678.62682","url":null,"abstract":"This paper describes a system called ParaTran for executing sequential Scheme in parallel. It supports arbitrary side effects without requiring user annotations. The ParaTran runtime system detects and corrects data dependency violations using an automatic history and rollback mechanism. ParaTran is first described by analogy with Time Warp, a system for distributed simulation; this description is followed by a discussion of ParaTran's implementation and presentation of preliminary results.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"2001 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":"131350286","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}
引用次数: 41
Implementation strategies for continuations 延续的实施策略
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62692
William D. Clinger, Anne Hartheimer, Eric Ost
{"title":"Implementation strategies for continuations","authors":"William D. Clinger, Anne Hartheimer, Eric Ost","doi":"10.1145/62678.62692","DOIUrl":"https://doi.org/10.1145/62678.62692","url":null,"abstract":"Scheme and Smalltalk continuations may have unlimited extent. This means that a purely stack-based implementation of continuations, as suffices for most languages, is inadequate. Several implementation strategies have been described in the literature. Determining which is best requires knowledge of the kinds of programs that will commonly be run. Danvy, for example, has conjectured that continuation captures occur in clusters. That is, the same continuation, once captured, is likely to be captured again. As evidence, Danvy cited the use of continuations in a research setting. We report that Danvy's conjecture is somewhat true in the commercial setting of MacScheme+Toolsmith™, which provides tools for developing Macintosh user interfaces in Scheme. These include an interrupt-driven event system and multitasking, both implemented by liberal use of continuations. We describe several implementation strategies for continuations and compare four of them using benchmarks. We conclude that the most popular strategy may have a slight edge when continuations are not used at all, but that other strategies perform better when continuations are used and Danvy's conjecture holds.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"54 4 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":"127559394","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}
引用次数: 61
Reification without evaluation 没有评价的物化
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62726
Alan Bawden
{"title":"Reification without evaluation","authors":"Alan Bawden","doi":"10.1145/62678.62726","DOIUrl":"https://doi.org/10.1145/62678.62726","url":null,"abstract":"Constructing self-referential systems, e.g. Brian Smith''s 3-Lisp language, is actually more straightforward than you think. Anyone can build an infinite tower of processors (where each processor implements the processor at the next level below) by employing some common sense and one simple trick. This paper presents a simple programming language interpreter that illustrates how this can be done. Given this basically straightforward technique, processor towers might be easily constructed for a wide variety of systems to enable them to manipulate and reason about themselves.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"20 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":"131231446","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}
引用次数: 31
Type inference in a database programming language 数据库编程语言中的类型推断
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62700
A. Ohori, P. Buneman
{"title":"Type inference in a database programming language","authors":"A. Ohori, P. Buneman","doi":"10.1145/62678.62700","DOIUrl":"https://doi.org/10.1145/62678.62700","url":null,"abstract":"We extend an ML-like implicit type system to include a number of structures and operations that are common in database programming including sets, labeled records, joins and projections. We then show that the type inference problem of the system is decidable by extending the notion of principal type schemes to include conditions on substitutions. Combined with Milner's polymorphic let constructor, our language also supports type inheritance.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"33 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":"122817927","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}
引用次数: 88
Faster combinator reduction using stock hardware 更快的组合器减少使用库存硬件
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62716
A. Norman
{"title":"Faster combinator reduction using stock hardware","authors":"A. Norman","doi":"10.1145/62678.62716","DOIUrl":"https://doi.org/10.1145/62678.62716","url":null,"abstract":"When originally introduced by Turner [I], the S-K combinators seemed a very attractive basis for the execution of functional programs. In current implementations of languages it is becoming increasingly uncommon to find them used, since it has been found that them are many optimization techniques available [I, 31 that rely on illustrated that streamlined implementations of small instruction sets may compete quite well with even competent professionally built implementations of more complicated computational models,","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"1 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":"129024836","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}
引用次数: 2
Exact real computer arithmetic with continued fractions 精确的真实计算机运算与连分式
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62681
J. Vuillemin
{"title":"Exact real computer arithmetic with continued fractions","authors":"J. Vuillemin","doi":"10.1145/62678.62681","DOIUrl":"https://doi.org/10.1145/62678.62681","url":null,"abstract":"We introduce a representation of the computable real numbers by continued fractions. This deals with the subtle points of undecidable comparison an integer division, as well as representing the infinite 1/0 and undefined 0/0 numbers. Two general algorithms for performing arithmetic operations are introduced. The algebraic algorithm, which computes sums and products of continued fractions as a special case, basically operates in a positional manner, producing one term of output for each term of input. The transcendental algorithm uses a general formula of Gauss to compute the continued fractions of exponentials, logarithms, trigonometric functions, as well as a wide class of special functions. A prototype system has been implemented in LeLisp, and the performance of these algorithms is promising.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"2016 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":"114900774","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}
引用次数: 165
The spineless G-machine 没有骨气的g型机器
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62717
G. Burn, S. Jones, J. D. Robson
{"title":"The spineless G-machine","authors":"G. Burn, S. Jones, J. D. Robson","doi":"10.1145/62678.62717","DOIUrl":"https://doi.org/10.1145/62678.62717","url":null,"abstract":"Recent developments in functional language implementations have resulted in the G-machine, a programmed graph-reduction machine. Taking this as a basis, we introduce an optimised method of performing graph reduction, which does not need to build the spine of the expression being reduced. This Spineless G-machine only updates shared expressions, and then only when they have been reduced to weak head normal form. It is thus more efficient than the standard method of performing graph reduction. We begin by outlining the philosophy and key features of the Spineless G-machine, and comparing it with the standard G-machine. Simulation results for the two machines are then presented and discussed. The Spineless G-machine is also compared with Tim, giving a series of transformations by which they can be interconverted. These open up a wide design space for abstract graph reduction machines, which was previously unknown. A full specification of the spineless machine is given in the appendix, together with compilation rules for a simple functional language.","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":"131619018","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}
引用次数: 87
&lgr;-V-CS: an extended &lgr;-calculus for scheme &lgr;-V-CS:一种扩展的&lgr
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62686
M. Felleisen
{"title":"&lgr;-V-CS: an extended &lgr;-calculus for scheme","authors":"M. Felleisen","doi":"10.1145/62678.62686","DOIUrl":"https://doi.org/10.1145/62678.62686","url":null,"abstract":"The &lgr;-v-CS-calculus is a conservative extension of the &lgr;-value-calculus for reasoning about programs in Scheme-like languages. The basis of the extended calculus is a symbolic rewriting semantics for imperative programs. We show with numerous examples how to state and prove equational properties of Scheme-programs in the calculus. The examples suggest that the algebraic manipulation of imperative-functional programs is as feasible and as fruitful as that of functional ones.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"3 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":"115510050","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}
引用次数: 21
Objects as closures: abstract semantics of object-oriented languages 作为闭包的对象:面向对象语言的抽象语义
Proceedings of the 1988 ACM conference on LISP and functional programming Pub Date : 1988-01-01 DOI: 10.1145/62678.62721
Uday S. Reddy
{"title":"Objects as closures: abstract semantics of object-oriented languages","authors":"Uday S. Reddy","doi":"10.1145/62678.62721","DOIUrl":"https://doi.org/10.1145/62678.62721","url":null,"abstract":"We discuss denotational semantics of object-oriented languages, using the concept of closure widely used in (semi) functional programming to encapsulate side effects. It is shown that this denotational framework is adequate to explain classes, instantiation, and inheritance in the style of Simula as well as SMALLTALK-80. This framework is then compared with that of Kamin, in his recent denotational definition of SMALLTALK-80, and the implications of the differences between the two approaches are discussed.","PeriodicalId":119710,"journal":{"name":"Proceedings of the 1988 ACM conference on LISP and functional programming","volume":"11 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":"114611447","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
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学术官方微信