Filters








249 Hits in 0.72 sec

Featherweight Java with multi-methods

Lorenzo Bettini, Sara Capecchi, Betti Venneri
2007 Proceedings of the 5th international symposium on Principles and practice of programming in Java - PPPJ '07  
In this paper we propose an extension, we call FMJ (Featherweight Multi Java), of Featherweight Java with encapsulated multimethods thus providing dynamic overloading.  ...  Multi-methods (collections of overloaded methods associated to the same message, whose selection takes place dynamically instead of statically as in standard overloading) are a useful mechanism since they  ...  In this paper we propose an extension of Featherweight Java (FJ) [29, 37] with multi-methods thus providing dynamic overloading.  ... 
doi:10.1145/1294325.1294337 dblp:conf/pppj/BettiniCV07 fatcat:4ifutloj45hmfj77ff2y2g35jm

Safe Typing for Transactional vs. Lock-Based Concurrency in Multi-threaded Java

Thi Mai Thuong Tran, Olaf Owe, Martin Steffen
2010 2010 Second International Conference on Knowledge and Systems Engineering  
Two proposals supporting flexible, non-lexical concurrency control are the lock-handling via the Lock-classes in Java 5 and Transactional Featherweight Java (TFJ), an extension of Featherweight Java by  ...  synchronized methods).  ...  In this paper, we are concerned with two typical recent proposals in that field, one is the lock-handling as introduced in Java 5, and the other extends Java by transactions, namely Transactional Featherweight  ... 
doi:10.1109/kse.2010.9 fatcat:kvnoygrgbvhl5i6yho2w3pfgme

Towards an Extrinsic Formalization of Featherweight Java in Agda

Samuel Feitosa, Rodrigo Geraldo Ribeiro, Andre Rauber Du Bois
2021 CLEI Electronic Journal  
However, when considering mechanized formalization, it is hard to find an implementation for languages with complex structures and binding mechanisms as Featherweight Java.  ...  Featherweight Java is one of the most popular calculi which specify object-oriented programming features.  ...  All source code produced, including the L A T E X source of this paper, are available on-line [8] . 2 Featherweight Java: a Refresher Featherweight Java (FJ) [4] is a minimal core calculus for Java,  ... 
doi:10.19153/cleiej.24.3.3 fatcat:7psvpedny5ax5dz55x2f7yns2i

Featherweight Java with dynamic and static overloading

Lorenzo Bettini, Sara Capecchi, Betti Venneri
2009 Science of Computer Programming  
We propose FMJ (Featherweight Multi Java), an extension of Featherweight Java with encapsulated multi-methods thus providing dynamic overloading.  ...  Multi-methods (collections of overloaded methods associated to the same message, whose selection takes place dynamically instead of statically as in standard overloading) are a useful and flexible mechanism  ...  Java) with multi-methods.  ... 
doi:10.1016/j.scico.2009.01.007 fatcat:dzfpwt6povd2jedhk7nuwg2eo4

A Safe Implementation of Dynamic Overloading in Java-Like Languages [chapter]

Lorenzo Bettini, Sara Capecchi, Betti Venneri
2010 Lecture Notes in Computer Science  
To this aim we use a core Java-language enriched with encapsulated multi-methods and dynamic overloading.  ...  We present a general technique for extending Java-like languages with dynamic overloading, where method selection depends on the dynamic type of the parameter, instead of just the receiver.  ...  To this aim we use the core languages FDJ and FSJ which are extensions of Featherweight Java [7] with multi-methods and static overloading, respectively.  ... 
doi:10.1007/978-3-642-11623-0_29 fatcat:gcfn5iifwjddpk6k2tpmfw2iue

Formal Semantics for Java-like Languages and Research Opportunities

Samuel Da Silva Feitosa, Rodrigo Geraldo Ribeiro, Andre Rauber Du Bois
2018 Revista de Informática Teórica e Aplicada  
The objective of this paper is twofold: first, we discuss the state of art on Java-like semantics, focusing on those that provide formal specification using operational semantics (big-step or small-step  ...  Author contributions This paper shows a comparison between the most cited formal semantics for Java, developed by the authors as a result of the last year's research on this field.  ...  Using this criterion, Featherweight Java could be considered the most popular, with almost 900 citations, followed by Classic Java, with approximately 500 quotes.  ... 
doi:10.22456/2175-2745.80912 fatcat:7ac3footqjg65mrx6n4py62xfm

Symmetric Encapsulated Multi-Methods [article]

David Lievens, Bill Harrison
2011 arXiv   pre-print
In this paper, we illustrate the scheme by extending a core calculus of class-based languages with these symmetric encapsulated multi-methods, and prove the result sound.  ...  Sometimes this unduly restricts the scope of software evolution, in particular for methods with multiple parameters where there is no clear owner.  ...  Symmetric Featherweight Multi-Java We illustrate our ideas by extending Featherweight Java (FJ) [2] with symmetric encapsulated multi-methods, the result we call Symmetric Featherweight Multi-Java (SFMJ  ... 
arXiv:1110.3470v1 fatcat:m7rh5pl4hvcqnlz63gcvvojadq

Pruning, Pushdown Exception-Flow Analysis

Shuying Liang, Weibin Sun, Matthew Might, Andrew Keep, David Van Horn
2014 2014 IEEE 14th International Working Conference on Source Code Analysis and Manipulation  
We evaluate our pruned, pushdown exception-flow analysis, comparing it with an established analysis on large scale standard Java benchmarks.  ...  Second, from the angle of pruning points-to information, we generalize abstract garbage collection to object-oriented programs and enhance it with liveness analysis.  ...  A FEATHERWEIGHT JAVA WITH EXCEPTIONS For presentation purpose, we start with a variant of Featherweight Java [14] in "A-Normal" form [11] with exceptions.  ... 
doi:10.1109/scam.2014.44 dblp:conf/scam/LiangSMKH14 fatcat:xvaepwgj7rhvdfpmmg4lqzndb4

Harmonizing Signals and Events with a Lightweight Extension to Java

Tetsuo Kamina, Tomoyuki Aotani
2018 The Art, Science, and Engineering of Programming  
The core calculus, Featherweight SignalJ (FSJ), was developed as an extension of Featherweight Java, and proofs are provided to ensure the soundness of FSJ.  ...  Based on this approach, we realize SignalJ, a simple extension of Java with events and signals.  ...  Table Featherweight Featherweight SignalJ: expression typing Table Featherweight Featherweight SignalJ: method and class typing [ ] [ Umut A. Acar, Guy E. Blelloch, and Robert Harper.  ... 
doi:10.22152/programming-journal.org/2018/2/5 fatcat:cdzuoum3xnbvxg33xpus4ka2s4

Featherweight go

Robert Griesemer, Raymond Hu, Wen Kokke, Julien Lange, Ian Lance Taylor, Bernardo Toninho, Philip Wadler, Nobuko Yoshida
2020 Proceedings of the ACM on Programming Languages (PACMPL)  
We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler.  ...  Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation.  ...  This sidesteps the key challenges of monomorphising code with polymorphic recursion and parameterised methods.  ... 
doi:10.1145/3428217 fatcat:o3jvlcim2fhcpdxueyff2fve7y

Flattening Traits

Oscar Nierstrasz, Stéphane Ducasse, Nathanael Schärli
2006 Journal of Object Technology  
We demonstrate how this principle applies to Featherweight-Trait Java, a conservative extension to Featherweight Java. source: https://doi.org/10.7892/boris.19424 | downloaded: 8.5.2016 FLATTENING TRAITS  ...  Instead of first asking how to integrate traits with the semantics of a given language, we should answer the question, how can we flatten traits to the base language.  ...  We will first extend FJ with interfaces, obtaining Featherweight Java with Interfaces (FJI). Then we define Featherweight-Trait Java with Interfaces (FTJI) as an extension of FTJ.  ... 
doi:10.5381/jot.2006.5.4.a4 fatcat:nzfpvotp65fh5kecztbknqyeju

Object Incompleteness and Dynamic Composition in Java-Like Languages [chapter]

Lorenzo Bettini, Viviana Bono, Betti Venneri
2008 Lecture Notes in Business Information Processing  
In this paper we present Incomplete Featherweight Java (IFJ), an extension of Featherweight Java with incomplete objects, i.e., objects that require some missing methods which can be provided at run-time  ...  by composition with another (complete) object.  ...  Conclusions and related works In this paper we presented Incomplete Featherweight Java (IFJ), an extension of Featherweight Java with incomplete objects, i.e., objects that require some missing methods  ... 
doi:10.1007/978-3-540-69824-1_12 fatcat:xmtgbyil65h5hlmk2yxb6qi3pe

Featherweight Go [article]

Robert Griesemer, Raymond Hu, Wen Kokke, Julien Lange, Ian Lance Taylor, Bernardo Toninho, Philip Wadler, Nobuko Yoshida
2020 arXiv   pre-print
We describe a design for generics in Go inspired by previous work on Featherweight Java by Igarashi, Pierce, and Wadler.  ...  Whereas subtyping in Java is nominal, in Go it is structural, and whereas generics in Java are defined via erasure, in Go we use monomorphisation.  ...  was funded under EPSRC EP/K034413/1, EP/T006544/1, EP/K011715/1, EP/L00058X/1, EP/N027833/1, EP/N028201/1, EP/T006544/1, EP/T014709/1 and EP/V000462/1, NCSS/EPSRC VeTSS, NOVA LINCS (UIDB/04516/2020) with  ... 
arXiv:2005.11710v4 fatcat:ymrojl3c6bendh73a2whs5e2yy

Tasks

Jeffrey Fischer, Rupak Majumdar, Todd Millstein
2007 Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation - PEPM '07  
The event-driven programming style is pervasive as an efficient method for interacting with the environment.  ...  We illustrate the benefits of our language through a formalization in an extension to Featherweight Java, and through a case study based on an open-source web server.  ...  Asynchronous methods, like regular Java methods, interact naturally with inheritance.  ... 
doi:10.1145/1244381.1244403 dblp:conf/pepm/FischerMM07 fatcat:smvhictokzenvj34wpnhaahmqa

I-Java: An Extension of Java with Incomplete Objects and Object Composition [chapter]

Lorenzo Bettini, Viviana Bono, Erica Turin
2009 Lecture Notes in Computer Science  
In this paper we present I-Java, an extension of the Java language with a form of incomplete objects, i.e., objects with some missing methods which can be provided at run-time by composition with another  ...  The calculus IFJ (Incomplete Featherweight Java) is an extension of FJ (Featherweight Java) [21, 30] with incomplete objects.  ...  In particular, we formalized two versions of Incomplete Featherweight Java (IFJ), as extensions of Featherweight Java [21, 30] .  ... 
doi:10.1007/978-3-642-02655-3_4 fatcat:sm36ivshkbag5ifrmeabejv2gu
« Previous Showing results 1 — 15 out of 249 results