Proceedings of the 8th symposium on Dynamic languages最新文献

筛选
英文 中文
Session details: Semantics 会话细节:
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/3262399
P. O'Hearn
{"title":"Session details: Semantics","authors":"P. O'Hearn","doi":"10.1145/3262399","DOIUrl":"https://doi.org/10.1145/3262399","url":null,"abstract":"","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116995367","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}
引用次数: 0
Proceedings of the 8th symposium on Dynamic languages 第八届动态语言学术研讨会论文集
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577
Alessandro Warth
{"title":"Proceedings of the 8th symposium on Dynamic languages","authors":"Alessandro Warth","doi":"10.1145/2384577","DOIUrl":"https://doi.org/10.1145/2384577","url":null,"abstract":"It is our great pleasure to welcome you to Tucson and the 2012 Dynamic Languages Symposium! This year's symposium -- the 8th in the series -- continues the tradition of communicating research results in the design, implementation, and application of dynamic languages. \u0000 \u0000We are happy to report that the overall quality of this year's submissions was particularly high. Out of a total of 23 submissions, the program committee accepted 10 papers whose topics range from modularity to pattern matching, language semantics, and optimization. The program also includes an invited talk by David Smith on the Virtual World Framework, a new architecture for creating and distributing collaborative virtual spaces that's built on top of JavaScript and other Web technologies. \u0000 \u0000Beyond the formal program, we hope this year's DLS will, like its predecessors, be a valuable forum for sharing ideas with other dynamic language researchers and practitioners from institutions around the world. Thank you for being part of this exciting community, and once again, welcome!","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"176 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122097069","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}
引用次数: 0
Self-optimizing AST interpreters 自优化AST解释器
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384587
Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer
{"title":"Self-optimizing AST interpreters","authors":"Thomas Würthinger, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Doug Simon, Christian Wimmer","doi":"10.1145/2384577.2384587","DOIUrl":"https://doi.org/10.1145/2384577.2384587","url":null,"abstract":"An abstract syntax tree (AST) interpreter is a simple and natural way to implement a programming language. However, it is also considered the slowest approach because of the high overhead of virtual method dispatch. Language implementers therefore define bytecodes to speed up interpretation, at the cost of introducing inflexible and hard to maintain bytecode formats. We present a novel approach to implementing AST interpreters in which the AST is modified during interpretation to incorporate type feedback. This tree rewriting is a general and powerful mechanism to optimize many constructs common in dynamic programming languages. Our system is implemented in Java and uses the static typing and primitive data types of Java elegantly to avoid the cost of boxed representations of primitive values in dynamic programming languages.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"322 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117062634","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}
引用次数: 153
Ownership, filters and crossing handlers: flexible ownership in dynamic languages 所有权、过滤器和交叉处理程序:动态语言中灵活的所有权
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384589
Erwann Wernli, Pascal Maerki, Oscar Nierstrasz
{"title":"Ownership, filters and crossing handlers: flexible ownership in dynamic languages","authors":"Erwann Wernli, Pascal Maerki, Oscar Nierstrasz","doi":"10.1145/2384577.2384589","DOIUrl":"https://doi.org/10.1145/2384577.2384589","url":null,"abstract":"Sharing mutable objects can result in broken invariants, exposure of internal details, and other subtle bugs. To prevent such issues, it is important to control accessibility and aliasing of objects. Dynamic Ownership is an effective way to do so, but its owner-as-dominator discipline is too restrictive: objects are either accessible or not. We propose in this paper to control accessibility and aliasing with more flexibility using two mechanisms, filters and crossing handlers. We demonstrate the benefits of the flexibility offered by these mechanisms, and report on the adaptation of a Smalltalk web server with our approach. We conclude that our variant of dynamic ownership is flexible enough to accommodate an existing design, while at the same time constraining it enough to highlight design anomalies.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"90 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126551875","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}
引用次数: 6
Object-oriented programming with gradual abstraction 逐步抽象的面向对象编程
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384583
K. Nørmark, L. L. Thomsen, Bent Thomsen
{"title":"Object-oriented programming with gradual abstraction","authors":"K. Nørmark, L. L. Thomsen, Bent Thomsen","doi":"10.1145/2384577.2384583","DOIUrl":"https://doi.org/10.1145/2384577.2384583","url":null,"abstract":"We describe an experimental object-oriented programming language, ASL2, that supports program development by means of a series of abstraction steps. The language allows immediate object construction, and it is possible to use the constructed objects for concrete problem solving tasks. Classes and class hierarchies can be derived from the objects - via gradual abstraction steps. We introduce two levels of object classification, called weak and strong object classification. Strong object classification relies on conventional classes, whereas weak object classification is looser, and less restrictive. As a central mechanism, weakly classified objects are allowed to borrow methods from each other. ASL2 supports class generalization, as a counterpart to class specialization and inheritance in mainstream object-oriented programming languages. The final abstraction step discussed in this paper is a syntactical abstraction step that derives a source file with a syntactical class form.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121779615","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}
引用次数: 1
Robust scripting via patterns 通过模式编写健壮的脚本
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384582
B. Bloom, Martin Hirzel
{"title":"Robust scripting via patterns","authors":"B. Bloom, Martin Hirzel","doi":"10.1145/2384577.2384582","DOIUrl":"https://doi.org/10.1145/2384577.2384582","url":null,"abstract":"Dynamic typing in scripting languages is a two-edged sword. On the one hand, it can be more flexible and more concise than static typing. On the other hand, it can lead to less robust code. We argue that patterns can give scripts much of the robustness of static typing, without losing the flexibility and concision of dynamic typing. To make this case, we describe a rich pattern system in the dynamic language Thorn. Thorn patterns interact with its control constructs and scoping rules to support concise and robust test-and-extract idioms. Thorn patterns encompass an extensive set of features from ML-style patterns to regular expressions and beyond. And Thorn patterns can be first-class and support pattern-punning (mirror constructor syntax). Overall, this paper describes a powerful pattern system that makes scripting more robust.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"111 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134344281","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
Adaptive data parallelism for internet clients on heterogeneous platforms 异构平台上internet客户端的自适应数据并行性
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384585
Alessandro Pignotti, Adam Welc, B. Mathiske
{"title":"Adaptive data parallelism for internet clients on heterogeneous platforms","authors":"Alessandro Pignotti, Adam Welc, B. Mathiske","doi":"10.1145/2384577.2384585","DOIUrl":"https://doi.org/10.1145/2384577.2384585","url":null,"abstract":"Today's Internet is long past static web pages filled with HTML-formatted text sprinkled with an occasional image or animation. We have entered an era of Rich Internet Applications executed locally on Internet clients such as web browsers: games, physics engines, image rendering, photo editing, etc. Yet today's languages used to program Internet clients have limited ability to tap to the computational capabilities of the underlying, often heterogeneous, platforms. In this paper we present how a Domain Specific Language(DSL) can be integrated into ActionScript, one of the most popular scripting languages used to program Internet clients and a close cousin of JavaScript. We demonstrate how our DSL, called ASDP (ActionScript Data Parallel), can be used to enable data parallelism for existing sequential programs. We also present a prototype of a system where data parallel workloads can be executed on either CPU or a GPU, with the runtime system transparently selecting the best processing unit, depending on the type of workload as well as the architecture and current load of the execution platform. We evaluate performance of our system on a variety of benchmarks, representing different types of workloads: physics, image processing, scientific computing and cryptography.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133457939","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}
引用次数: 3
A tested semantics for getters, setters, and eval in JavaScript JavaScript中getter、setter和eval的经过测试的语义
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384579
J. Politz, Matthew J. Carroll, Benjamin S. Lerner, Justin Pombrio, S. Krishnamurthi
{"title":"A tested semantics for getters, setters, and eval in JavaScript","authors":"J. Politz, Matthew J. Carroll, Benjamin S. Lerner, Justin Pombrio, S. Krishnamurthi","doi":"10.1145/2384577.2384579","DOIUrl":"https://doi.org/10.1145/2384577.2384579","url":null,"abstract":"We present S5, a semantics for the strict mode of the ECMAScript 5.1 (JavaScript) programming language. S5 shrinks the large source language into a manageable core through an implemented transformation. The resulting specification has been tested against real-world conformance suites for the language. This paper focuses on two aspects of S5: accessors (getters and setters) and eval. Since these features are complex and subtle in JavaScript, they warrant special study. Variations on both features are found in several other programming languages, so their study is likely to have broad applicability.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129115650","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}
引用次数: 47
Session details: Optimization and parallelism 会话细节:优化和并行
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/3251552
Sam Tobin-Hochstadt
{"title":"Session details: Optimization and parallelism","authors":"Sam Tobin-Hochstadt","doi":"10.1145/3251552","DOIUrl":"https://doi.org/10.1145/3251552","url":null,"abstract":"","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"68 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125582151","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}
引用次数: 0
CoExist: overcoming aversion to change 共存:克服对改变的厌恶
Proceedings of the 8th symposium on Dynamic languages Pub Date : 2012-10-22 DOI: 10.1145/2384577.2384591
Bastian Steinert, D. Cassou, R. Hirschfeld
{"title":"CoExist: overcoming aversion to change","authors":"Bastian Steinert, D. Cassou, R. Hirschfeld","doi":"10.1145/2384577.2384591","DOIUrl":"https://doi.org/10.1145/2384577.2384591","url":null,"abstract":"Programmers make many changes to the program to eventually find a good solution for a given task. In this course of change, every intermediate development state can of value, when, for example, a promising ideas suddenly turn out inappropriate or the interplay of objects turns out more complex than initially expected before making changes. Programmers would benefit from tool support that provides immediate access to source code and run-time of previous development states of interest. We present IDE extensions, implemented for Squeak/Smalltalk, to preserve, retrieve, and work with this information. With such tool support, programmers can work without worries because they can rely on tools that help them with whatever their explorations will reveal. They no longer have to follow certain best practices only to avoid undesired consequences of hanging code.","PeriodicalId":225699,"journal":{"name":"Proceedings of the 8th symposium on Dynamic languages","volume":"63 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2012-10-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124797654","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}
引用次数: 17
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学术文献互助群
群 号:604180095
Book学术官方微信