Dynamic Languages Symposium最新文献

筛选
英文 中文
Polymorphic type inference for scripting languages with object extensions 具有对象扩展的脚本语言的多态类型推断
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047855
Tian Zhao
{"title":"Polymorphic type inference for scripting languages with object extensions","authors":"Tian Zhao","doi":"10.1145/2047849.2047855","DOIUrl":"https://doi.org/10.1145/2047849.2047855","url":null,"abstract":"This paper presents a polymorphic type inference algorithm for a small subset of JavaScript. The goal is to prevent accessing undefined members of objects. We define a type system that allows explicit extension of objects through add operation and implicit extension through method calls. The type system also permits strong updates and unrestricted extensions to new objects. The type inference algorithm is modular so that each function definition is only analyzed once and larger programs can be checked incrementally.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125550583","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}
引用次数: 14
Places: adding message-passing parallelism to racket 位置:向球拍添加消息传递并行性
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047860
K. Tew, J. Swaine, M. Flatt, R. Findler, P. Dinda
{"title":"Places: adding message-passing parallelism to racket","authors":"K. Tew, J. Swaine, M. Flatt, R. Findler, P. Dinda","doi":"10.1145/2047849.2047860","DOIUrl":"https://doi.org/10.1145/2047849.2047860","url":null,"abstract":"Places bring new support for message-passing parallelism to Racket. This paper gives an overview of the programming model and how we had to modify our existing, sequential runtime-system to support places. We show that the freedom to design the programming model helped us to make the implementation tractable; specifically, we avoided the conventional pain of adding just the right amount of locking to a big, legacy runtime system. The paper presents an evaluation of the design that includes both a real-world application and standard parallel benchmarks.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"242 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123071866","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}
引用次数: 15
Bounded-latency regional garbage collection 有界延迟区域垃圾收集
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047859
Felix S. Klock, William D. Clinger
{"title":"Bounded-latency regional garbage collection","authors":"Felix S. Klock, William D. Clinger","doi":"10.1145/2047849.2047859","DOIUrl":"https://doi.org/10.1145/2047849.2047859","url":null,"abstract":"Regional garbage collection is scalable, with theoretical worst-case bounds for gc latency, MMU, and throughput that are independent of mutator behavior and the volume of reachable storage. Regional collection improves upon the worst-case pause times and MMU seen in most other general-purpose collectors, including garbage-first and concurrent mark/sweep collectors.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"144 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131682678","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
Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time 静态与动态类型系统:类型转换与开发时间关系的实证研究
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047861
Andreas Stuchlik, Stefan Hanenberg
{"title":"Static vs. dynamic type systems: an empirical study about the relationship between type casts and development time","authors":"Andreas Stuchlik, Stefan Hanenberg","doi":"10.1145/2047849.2047861","DOIUrl":"https://doi.org/10.1145/2047849.2047861","url":null,"abstract":"Static type systems are essential in computer science. However, there is hardly any knowledge about the impact of type systems on the resulting piece of software. While there are authors that state that static types increase the development speed, other authors argue the other way around. A previous experiment suggests that there are multiple factors that play a role for a comparison of statically and dynamically typed language. As a follow-up, this paper presents an empirical study with 21 subjects that compares programming tasks performed in Java and Groovy - programming tasks where the number of expected type casts vary in the statically typed language. The result of the study is, that the dynamically typed group solved the complete programming tasks significantly faster for most tasks - but that for larger tasks with a higher number of type casts no significant difference could be found.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130813348","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}
引用次数: 43
The impact of optional type information on jit compilation of dynamically typed languages 可选类型信息对动态类型语言jit编译的影响
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047853
Mason Chang, B. Mathiske, Edwin W. Smith, A. Chaudhuri, A. Gal, Michael Bebenita, Christian Wimmer, M. Franz
{"title":"The impact of optional type information on jit compilation of dynamically typed languages","authors":"Mason Chang, B. Mathiske, Edwin W. Smith, A. Chaudhuri, A. Gal, Michael Bebenita, Christian Wimmer, M. Franz","doi":"10.1145/2047849.2047853","DOIUrl":"https://doi.org/10.1145/2047849.2047853","url":null,"abstract":"Optionally typed languages enable direct performance comparisons between untyped and type annotated source code. We present a comprehensive performance evaluation of two different JIT compilers in the context of ActionScript, a production-quality optionally typed language. One JIT compiler is optimized for quick compilation rather than JIT compiled code performance. The second JIT compiler is a more aggressively optimizing compiler, performing both high-level and low-level optimizations.\u0000 We evaluate both JIT compilers directly on the same benchmark suite, measuring their performance changes across fully typed, partially typed, and untyped code. Such evaluations are especially relevant to dynamically typed languages such as JavaScript, which are currently evaluating the idea of adding optional type annotations. We demonstrate that low-level optimizations rarely accelerate the program enough to pay back the investment into performing them in an optionally typed language. Our experiments and data demonstrate that high-level optimizations are required to improve performance by any significant amount.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134537150","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}
引用次数: 15
Explicit use-case representation in object-oriented programming languages 面向对象编程语言中的显式用例表示
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047856
R. Hirschfeld, M. Perscheid, M. Haupt
{"title":"Explicit use-case representation in object-oriented programming languages","authors":"R. Hirschfeld, M. Perscheid, M. Haupt","doi":"10.1145/2047849.2047856","DOIUrl":"https://doi.org/10.1145/2047849.2047856","url":null,"abstract":"Use-cases are considered an integral part of most contemporary development processes since they describe a software system's expected behavior from the perspective of its prospective users. However, the presence of and traceability to use-cases is increasingly lost in later more code-centric development activities. Use-cases, being well-encapsulated at the level of requirements descriptions, eventually lead to crosscutting concerns in system design and source code. Tracing which parts of the system contribute to which use-cases is therefore hard and so limits understandability.\u0000 In this paper, we propose an approach to making use-cases first-class entities in both the programming language and the runtime environment. Having use-cases present in the code and the running system will allow developers, maintainers, and operators to easily associate their units of work with what matters to the users. We suggest the combination of use-cases, acceptance tests, and dynamic analysis to automatically associate source code with use-cases. We present UseCasePy, an implementation of our approach to use-case-centered development in Python, and its application to the Django Web framework.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"65 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121919384","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}
引用次数: 18
HappyJIT: a tracing JIT compiler for PHP HappyJIT:用于PHP的跟踪JIT编译器
Dynamic Languages Symposium Pub Date : 2011-10-24 DOI: 10.1145/2047849.2047854
Andrei Homescu, Alex Suhan
{"title":"HappyJIT: a tracing JIT compiler for PHP","authors":"Andrei Homescu, Alex Suhan","doi":"10.1145/2047849.2047854","DOIUrl":"https://doi.org/10.1145/2047849.2047854","url":null,"abstract":"Current websites are a combination of server-generated dynamic content with client-side interactive programs. Dynamically - typed languages have gained a lot of ground in both of these domains. The growth of Web 2.0 has introduced a myriad of websites which contain personalized content, which is specific to the user. PHP or Python programs generate the actual HTML page after querying a database and processing the results, which are then presented by the browser. It is becoming more and more vital to accelerate the execution of these programs, as this is a significant part of the total time needed to present the page to the user.\u0000 This paper presents a novel interpreter for the PHP language written in RPython, which the PyPy translator then translates into C. The translator integrates into the interpreter a tracing just-in-time compiler which optimizes the hottest loops in the interpreted programs. We also describe a data model that supports all the data types in the PHP language, such as references and iterators. We evaluate the performance of this interpreter, showing that speedups up to a factor of 8 are observed using this approach.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"81 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2011-10-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124289783","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}
引用次数: 20
Factor: a dynamic stack-based programming language 因素:一种动态的基于堆栈的编程语言
Dynamic Languages Symposium Pub Date : 2010-10-18 DOI: 10.1145/1869631.1869637
Sviatoslav Pestov, Daniel Ehrenberg, Joseph Groff
{"title":"Factor: a dynamic stack-based programming language","authors":"Sviatoslav Pestov, Daniel Ehrenberg, Joseph Groff","doi":"10.1145/1869631.1869637","DOIUrl":"https://doi.org/10.1145/1869631.1869637","url":null,"abstract":"Factor is a new dynamic object-oriented programming language. It began as an embedded scripting language and evolved to a mature application development language. The language has a simple execution model and is based on the manipulation of data on a stack. An advanced metaprogramming system provides means for easily extending the language. Thus, Factor allows programmers to use the right features for their problem domain. The Factor implementation is self-hosting, featuring an interactive development environment and an optimizing compiler. In this paper, the language and its implementation are presented.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125696837","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}
引用次数: 8
Efficient interpretation using quickening 使用加速的高效口译
Dynamic Languages Symposium Pub Date : 2010-10-18 DOI: 10.1145/1869631.1869633
Stefan Brunthaler
{"title":"Efficient interpretation using quickening","authors":"Stefan Brunthaler","doi":"10.1145/1869631.1869633","DOIUrl":"https://doi.org/10.1145/1869631.1869633","url":null,"abstract":"Just-in-time compilers offer the biggest achievable payoff performance-wise, but their implementation is a non-trivial, time-consuming task affecting the interpreter's maintenance for years to come, too. Recent research addresses this issue by providing ways of leveraging existing just-in-time compilation infrastructures.\u0000 Though there has been considerable research on improving the efficiency of just-in-time compilers, the area of optimizing interpreters has gotten less attention as if the implementation of a dynamic translation system was the \"ultima ratio\" for efficiently interpreting programming languages. We present optimization techniques for improving the efficiency of interpreters without requiring just-in-time compilation thereby maintaining the ease-of-implementation characteristic that brought many people to implementing an interpreter in the first place.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130446451","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}
引用次数: 40
Alias analysis for optimization of dynamic languages 动态语言优化的别名分析
Dynamic Languages Symposium Pub Date : 2010-10-18 DOI: 10.1145/1869631.1869635
Michael Gorbovitski, Yanhong A. Liu, S. Stoller, Tom Rothamel, K. T. Tekle
{"title":"Alias analysis for optimization of dynamic languages","authors":"Michael Gorbovitski, Yanhong A. Liu, S. Stoller, Tom Rothamel, K. T. Tekle","doi":"10.1145/1869631.1869635","DOIUrl":"https://doi.org/10.1145/1869631.1869635","url":null,"abstract":"Dynamic languages such as Python allow programs to be written more easily using high-level constructs such as comprehensions for queries and using generic code. Efficient execution of programs then requires powerful optimizations - incrementalization of expensive queries and specialization of generic code. Effective incrementalization and specialization of dynamic languages require precise and scalable alias analysis.\u0000 This paper describes the development and experimental evaluation of a may-alias analysis for a full dynamic object-oriented language, for program optimization by incrementalization and specialization. The analysis is flow-sensitive; we show that this is necessary for effective optimization of dynamic languages. It uses precise type analysis and a powerful form of context sensitivity, called trace sensitivity, to further improve analysis precision. It uses a compressed representation to significantly reduce the memory used by flow-sensitive analyses.We evaluate the effectiveness of this analysis and 17 variants of it for incrementalization and specialization of Python programs, and we evaluate the precision, memory usage, and running time of these analyses on programs of diverse sizes. The results show that our analysis has acceptable precision and efficiency and represents the best trade-off between them compared to the variants.","PeriodicalId":344101,"journal":{"name":"Dynamic Languages Symposium","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2010-10-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128635872","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}
引用次数: 44
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学术官方微信