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 | |||||||||||
| 出版者 | 情報処理学会 | |||||||||||