WEKO3
アイテム
A Layer-based Approach to Hierarchical Dynamically-scoped Open Classes
https://ipsj.ixsq.nii.ac.jp/records/177698
https://ipsj.ixsq.nii.ac.jp/records/177698a012ee79-578b-4e96-9573-5c1298d71986
名前 / ファイル | ライセンス | アクション |
---|---|---|
![]() |
Copyright (c) 2017 by the Information Processing Society of Japan
|
|
オープンアクセス |
Item type | Trans(1) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
公開日 | 2017-02-27 | |||||||||||
タイトル | ||||||||||||
タイトル | A Layer-based Approach to Hierarchical Dynamically-scoped Open Classes | |||||||||||
タイトル | ||||||||||||
言語 | en | |||||||||||
タイトル | A Layer-based Approach to Hierarchical Dynamically-scoped Open Classes | |||||||||||
言語 | ||||||||||||
言語 | eng | |||||||||||
キーワード | ||||||||||||
主題Scheme | Other | |||||||||||
主題 | [通常論文] open classes, extension classes, Context-oriented Programming, mixins, Ruby | |||||||||||
資源タイプ | ||||||||||||
資源タイプ識別子 | http://purl.org/coar/resource_type/c_6501 | |||||||||||
資源タイプ | journal article | |||||||||||
著者所属 | ||||||||||||
Department of Mathematical and Computing Science, Tokyo Institute of Technology | ||||||||||||
著者所属 | ||||||||||||
Department of Mathematical and Computing Science, Tokyo Institute of Technology | ||||||||||||
著者所属 | ||||||||||||
Hasso Plattner Institute, University of Potsdam | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Department of Mathematical and Computing Science, Tokyo Institute of Technology | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Department of Mathematical and Computing Science, Tokyo Institute of Technology | ||||||||||||
著者所属(英) | ||||||||||||
en | ||||||||||||
Hasso Plattner Institute, University of Potsdam | ||||||||||||
著者名 |
Matthias, Springer
× Matthias, Springer
× Hidehiko, Masuhara
× Robert, Hirschfeld
|
|||||||||||
著者名(英) |
Matthias, Springer
× Matthias, Springer
× Hidehiko, Masuhara
× Robert, Hirschfeld
|
|||||||||||
論文抄録 | ||||||||||||
内容記述タイプ | Other | |||||||||||
内容記述 | Open classes are frequently used in programming languages such as Ruby and Smalltalk to add or change methods of a class that is defined in the same component or in a different one. They are typically used for bug fixing, multi-dimensional separation of concerns, or to modularly add new operations to an existing class. However, they suffer from modularity issues if globally visible: Other components using the same classes are then affected by their modifications. This work presents Extension Classes, a hierarchical approach for dynamically scoping such modifications in Ruby, built on top of ideas from Context-oriented Programming (COP). Our mechanism organizes modifications in classes and allows programmers to define their scope according to a class nesting hierarchy and based on whether programmers regard an affected class as a black box or not. Moreover, Extension Classes support modularizing modifications as mixins, such that they can be reused in other components. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.25(2017) (online) ------------------------------ |
|||||||||||
論文抄録(英) | ||||||||||||
内容記述タイプ | Other | |||||||||||
内容記述 | Open classes are frequently used in programming languages such as Ruby and Smalltalk to add or change methods of a class that is defined in the same component or in a different one. They are typically used for bug fixing, multi-dimensional separation of concerns, or to modularly add new operations to an existing class. However, they suffer from modularity issues if globally visible: Other components using the same classes are then affected by their modifications. This work presents Extension Classes, a hierarchical approach for dynamically scoping such modifications in Ruby, built on top of ideas from Context-oriented Programming (COP). Our mechanism organizes modifications in classes and allows programmers to define their scope according to a class nesting hierarchy and based on whether programmers regard an affected class as a black box or not. Moreover, Extension Classes support modularizing modifications as mixins, such that they can be reused in other components. ------------------------------ This is a preprint of an article intended for publication Journal of Information Processing(JIP). This preprint should not be cited. This article should be cited as: Journal of Information Processing Vol.25(2017) (online) ------------------------------ |
|||||||||||
書誌レコードID | ||||||||||||
収録物識別子タイプ | NCID | |||||||||||
収録物識別子 | AA11464814 | |||||||||||
書誌情報 |
情報処理学会論文誌プログラミング(PRO) 巻 10, 号 2, 発行日 2017-02-27 |
|||||||||||
ISSN | ||||||||||||
収録物識別子タイプ | ISSN | |||||||||||
収録物識別子 | 1882-7802 | |||||||||||
出版者 | ||||||||||||
言語 | ja | |||||||||||
出版者 | 情報処理学会 |