File Download
There are no files associated with this item.
Links for fulltext
(May Require Subscription)
- Publisher Website: 10.1007/978-3-642-31057-7-2
- Scopus: eid_2-s2.0-84879725860
- Find via
Supplementary
-
Citations:
- Scopus: 0
- Appears in Collections:
Conference Paper: Extensibility for the masses practical extensibility with object Algebras
Title | Extensibility for the masses practical extensibility with object Algebras |
---|---|
Authors | |
Issue Date | 2012 |
Publisher | Springer Verlag. The Journal's web site is located at http://springerlink.com/content/105633/ |
Citation | Lecture Notes In Computer Science (Including Subseries Lecture Notes In Artificial Intelligence And Lecture Notes In Bioinformatics), 2012, v. 7313 LNCS, p. 2-27 How to Cite? |
Abstract | This paper presents a new solution to the expression problem (EP) that works in OO languages with simple generics (including Java or C#). A key novelty of this solution is that advanced typing features, including F-bounded quantification, wildcards and variance annotations, are not needed. The solution is based on object algebras, which are an abstraction closely related to algebraic datatypes and Church encodings. Object algebras also have much in common with the traditional forms of the Visitor pattern, but without many of its drawbacks: they are extensible, remove the need for accept methods, and do not compromise encapsulation. We show applications of object algebras that go beyond toy examples usually presented in solutions for the expression problem. In the paper we develop an increasingly more complex set of features for a mini-imperative language, and we discuss a real-world application of object algebras in an implementation of remote batches. We believe that object algebras bring extensibility to the masses: object algebras work in mainstream OO languages, and they significantly reduce the conceptual overhead by using only features that are used by everyday programmers. © 2012 Springer-Verlag Berlin Heidelberg. |
Persistent Identifier | http://hdl.handle.net/10722/188508 |
ISSN | 2023 SCImago Journal Rankings: 0.606 |
References |
DC Field | Value | Language |
---|---|---|
dc.contributor.author | Oliveira, BCDS | en_US |
dc.contributor.author | Cook, WR | en_US |
dc.date.accessioned | 2013-09-03T04:08:47Z | - |
dc.date.available | 2013-09-03T04:08:47Z | - |
dc.date.issued | 2012 | en_US |
dc.identifier.citation | Lecture Notes In Computer Science (Including Subseries Lecture Notes In Artificial Intelligence And Lecture Notes In Bioinformatics), 2012, v. 7313 LNCS, p. 2-27 | en_US |
dc.identifier.issn | 0302-9743 | en_US |
dc.identifier.uri | http://hdl.handle.net/10722/188508 | - |
dc.description.abstract | This paper presents a new solution to the expression problem (EP) that works in OO languages with simple generics (including Java or C#). A key novelty of this solution is that advanced typing features, including F-bounded quantification, wildcards and variance annotations, are not needed. The solution is based on object algebras, which are an abstraction closely related to algebraic datatypes and Church encodings. Object algebras also have much in common with the traditional forms of the Visitor pattern, but without many of its drawbacks: they are extensible, remove the need for accept methods, and do not compromise encapsulation. We show applications of object algebras that go beyond toy examples usually presented in solutions for the expression problem. In the paper we develop an increasingly more complex set of features for a mini-imperative language, and we discuss a real-world application of object algebras in an implementation of remote batches. We believe that object algebras bring extensibility to the masses: object algebras work in mainstream OO languages, and they significantly reduce the conceptual overhead by using only features that are used by everyday programmers. © 2012 Springer-Verlag Berlin Heidelberg. | en_US |
dc.language | eng | en_US |
dc.publisher | Springer Verlag. The Journal's web site is located at http://springerlink.com/content/105633/ | en_US |
dc.relation.ispartof | Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) | en_US |
dc.title | Extensibility for the masses practical extensibility with object Algebras | en_US |
dc.type | Conference_Paper | en_US |
dc.identifier.email | Oliveira, BCDS: oliveira@comp.nus.edu.sg | en_US |
dc.identifier.authority | Oliveira, BCDS=rp01786 | en_US |
dc.description.nature | link_to_subscribed_fulltext | en_US |
dc.identifier.doi | 10.1007/978-3-642-31057-7-2 | en_US |
dc.identifier.scopus | eid_2-s2.0-84879725860 | en_US |
dc.relation.references | http://www.scopus.com/mlt/select.url?eid=2-s2.0-84879725860&selection=ref&src=s&origin=recordpage | en_US |
dc.identifier.volume | 7313 LNCS | en_US |
dc.identifier.spage | 2 | en_US |
dc.identifier.epage | 27 | en_US |
dc.publisher.place | Germany | en_US |
dc.identifier.scopusauthorid | Oliveira, BCDS=12239474400 | en_US |
dc.identifier.scopusauthorid | Cook, WR=11939670900 | en_US |
dc.identifier.issnl | 0302-9743 | - |