International Workshop on Smalltalk Technologies最新文献

筛选
英文 中文
Complex values in Smalltalk Smalltalk中的复杂值
International Workshop on Smalltalk Technologies Pub Date : 2009-08-31 DOI: 10.1145/1735935.1735957
Thomas J. Schrader, Christian Haider
{"title":"Complex values in Smalltalk","authors":"Thomas J. Schrader, Christian Haider","doi":"10.1145/1735935.1735957","DOIUrl":"https://doi.org/10.1145/1735935.1735957","url":null,"abstract":"Distinguishing between stateful objects and Values has long been recognized as fruitful. Values are universal context free abstractions that prevent side-effects and allow for a functional programming style. Though object-oriented programming languages provide simple Values like Integer and String, more complex Values are usually not supported. We show how to model complex structures as Values in Smalltalk, which allows for a simple and versatile implementation. The resulting Smalltalk systems are simple, clear and easily testable.","PeriodicalId":393791,"journal":{"name":"International Workshop on Smalltalk Technologies","volume":"48 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114621068","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
Evolving a reflective language: lessons learned from implementing traits 发展反思性语言:从实现特征中学到的经验教训
International Workshop on Smalltalk Technologies Pub Date : 2009-08-31 DOI: 10.1145/1735935.1735949
Stéphane Ducasse, M. Denker, Adrian Lienhard
{"title":"Evolving a reflective language: lessons learned from implementing traits","authors":"Stéphane Ducasse, M. Denker, Adrian Lienhard","doi":"10.1145/1735935.1735949","DOIUrl":"https://doi.org/10.1145/1735935.1735949","url":null,"abstract":"Traits are method groups that can be used to compose classes. They do not have a runtime existence and are conceptually folded into the classes that use them. Traits have been implemented in different languages. While implementing them in Smalltalk, our first reflex was to take advantage of the fact that traits are not run-time entities: we optimized the implementation for space and hence shared methods between traits and classes. However, by doing so we broke the introspective API of Smalltalk.\u0000 This paper illustrates a more general problem seen in all reflective systems: the implementation serves both as a model for execution and as the model that is exposed to the programmer. There is a conflict of interests between the information necessary for execution and the information the programmer is interested in. In addition, as soon as the implementation is exposed via reflection, we are not free to optimize. As the complete implementation is visible reflectively, there is no way to hide the optimizations.\u0000 Few papers report errors and this is one of them. We report our experience facing the initial API mismatch, which has a significant impact on the system because the language is reflective (i.e., written in itself and causally connected). We present the new introspective API we put in place.","PeriodicalId":393791,"journal":{"name":"International Workshop on Smalltalk Technologies","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2009-08-31","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121552007","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
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学术官方微信