Featherweight Java: a minimal core calculus for Java and GJ
By Atsushi Igarashi, Benjamin C. Pierce, Philip Wadler. TOPL, 2001
1,218 citations recorded by the source corpus.
Subfields: Artificial Intelligence, Computational Theory and Mathematics
View Paper: https://www.semanticscholar.org/paper/b747f17435f0d718115654b84bb9539a54aebd02
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Gavin M. Bierman
- Martín Abadi
- Mads Torgersen
- Ondřej Lhoták
- Yannis Smaragdakis
- Jeremy G. Siek
- Martin Bravenboer
- Walid Taha
In Computational Theory and Mathematics
- Ondřej Lhoták
- Gavin M. Bierman
- Martín Abadi
- Mads Torgersen
- Yannis Smaragdakis
- Jeremy G. Siek
- Martin Bravenboer
- Adrian Sampson
Citations in the corpus
- Gradual Typing for Objects (2007, background): “This phase rewrites the program by collapsing sequences of up-casts and down-casts and signals an error if it encounters a pair of casts that together amount to a “stupid cast”[ 22 ], that is, casts that always fail because the target is incompatible with the subject.”
- An Overview of the Scala Programming Language (2004, methodology): “It has been formalized by Igarashi, Pierce, and Wadler in [25].”
- Understanding TypeScript (2014, background): “FTS expressions: e, f ::= Expressions x Identifier l Literal { ā } Object literal e=f Assignment operator e⊕ f Binary operator e.n Property access e[f] Computed property access e(f̄) Function call <T>e Type assertion function c { s̄ } Function expression a ::= n: e Property assignment c ::= Call si”
- A machine-checked model for a Java-like language, virtual machine, and compiler (2006, methodology): “Featherweight Java: A minimal core calculus for Java and GJ. ACM Trans.”
- RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation (2009, methodology): “We started with a completely different definition of the abstract syntax which was shorter but less like the original definition in [12].”
- ABS: A Core Language for Abstract Behavioral Specification (2010, methodology): “Featherweight Java is class based and uses a class table to represent class information in its type system.”
- Pick your contexts well: understanding object-sensitivity (2011, methodology): “Some of the Featherweight Java conventions merit a reminder: A classdeclarationalwaysnamesasuperclass,andlists .elds(distinctfrom thosein the superclass)followedby a single constructor andalist ofmethods.”
- Gradual Typing for Functional Languages (2006, background): “This phase rewrites the program by collapsing sequences of up-casts and down-casts and signals an error if it encounters a pair of casts that together amount to a “stupid cast”[ 22], that is, casts that always fail because the target is incompatible with the subject.”
- EnerJ: approximate data types for safe and general low-power computation (2011, methodology): “The language is based on Featherweight Java [16] and adds precision quali.ers and state.”