Proceedings of the 6th International Conference on Generative Programming and Component Engineering 2007
DOI: 10.1145/1289971.1289996
|View full text |Cite
|
Sign up to set email alerts
|

Lightweight scalable components

Abstract: One limitation of the well-known family polymorphism approach is that each "family" will be a large monolithic program. In this paper, we introduce a minimal lightweight set of language features that treat each member of a family as a reusable programming unit, while preserving the important feature of scalability. The only one language construct we propose in this paper is type parameter members, which allows type parameters to be referred from the outside of class declarations. To investigate properties of t… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2008
2008
2015
2015

Publication Types

Select...
3
2
2

Relationship

0
7

Authors

Journals

citations
Cited by 9 publications
(6 citation statements)
references
References 37 publications
0
6
0
Order By: Relevance
“…A good example is FGJ# [16], which supports a similar mechanism, namely type inference for this, although it is invented independently. We find that the type system has a flaw-it allows unsafe subclassing and instantiation of a generic class whose self type is a type variable-resulting in failure of type soundness.…”
Section: Integration With Other Typing Mechanismsmentioning
confidence: 97%
See 2 more Smart Citations
“…A good example is FGJ# [16], which supports a similar mechanism, namely type inference for this, although it is invented independently. We find that the type system has a flaw-it allows unsafe subclassing and instantiation of a generic class whose self type is a type variable-resulting in failure of type soundness.…”
Section: Integration With Other Typing Mechanismsmentioning
confidence: 97%
“…Our formalization requires self type variables to be explicitly specified as opposed to the example in Section 3. Formalizing an inference rule for i would be easy as done in Kamina and Tamai [16]. There are no other differences from the FGJ syntax except that typecasts are omitted for simplicity.…”
Section: Formalizationmentioning
confidence: 99%
See 1 more Smart Citation
“…In Scala, self types can be explicitly annotated [34] by using requires clause. Another solution, invented independently by Saito and Igarashi [35] and Kamina and Tamai [24], is to extend generics a little so that this can have abstract types in a special case in exchange for a small restriction on subclassing.…”
Section: Related Workmentioning
confidence: 99%
“…Thus, as a composition technique, superimposition should be applicable to a wide range of software artifacts. While there are various tools that support superimposition for code artifacts [4,8,9,20,28,31,32,34,37] and non-code artifacts [1,8,14,16,18,21], they appear all different, are dedicated to and embedded differently in their respective host languages, and their implementation and integration requires a major effort. A reason is that, usually, the developers of languages and tools did not address (or realize) the general nature of superimposition.…”
Section: Introductionmentioning
confidence: 99%