MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  [Preprint. Comments welcome.] Constructive Foundations for Featherweight Java

Download:
pdf
by Thomas Studer
http://www.iam.unibe.ch/~tstuder/papers/cffj.pdf
Add To MetaCart

Abstract:

In this paper we present a recursion-theoretic denotational semantics for Featherweight Java. Our interpretation is based on a formalization of the object model of Castagna, Ghelli and Longo in a predicative theory of types and names. Although this theory is proof-theoretically weak, it allows to prove many properties of programs written in Featherweight Java. This underpins Feferman’s thesis that impredicative assumptions are not needed for computational practice. Moreover, the present work is also a contribution to the ongoing research on unifying functional and object-oriented programming. It shows that these two paradigms fit well together and that their combination has a sound mathematical model.

Citations

1416 The Java Language Specification – Gosling, Joy, et al. - 1996
286 Featherweight Java: A minimal core calculus for Java and GJ – Igarashi, Pierce, et al. - 1999
139 A calculus for overloaded functions with subtyping – Castagna, Ghelli, et al. - 1995
110 Comparing object encodings – Bruce, Cardelli, et al. - 1999
88 Proving Java Type-Soundness – Syme - 1997
71 A language and axioms for explicit mathematics – Feferman - 1975
59 Constructive theories of functions and classes – Feferman - 1979
52 A programmer’s reduction semantics for classes and mixins. Formal syntax and semantics of Java, pp. 241–269. (Preliminary version appeared in proceedings of Principles of Programming Languages – Flatt, Krishnamurthi, et al. - 1999
50 Jam – a smooth extension of Java with mixins – Ancona, Lagorio, et al. - 2000
44 Foundations of constructive mathematics. Metamathematical studies, volume 6 of Ergebnisse der Mathematik und ihrer Grenzgebiete – Beeson - 1985
44 1979], Identity and existence in intuitionistic logic – Scott
37 Recursion-Theoretic Hierarchies – Hinman - 1978
28 Is the Java Type System Sound?. Theory and Practice of Object Systems – Drossopoulou, Khurshid, et al. - 1999
27 Domains and denotational semantics: History, accomplishments and open problems – Fiore, Jung, et al. - 1996
26 Polymorphic typed lambda-calculi in a type-free axiomatic framework – Feferman - 1990
24 Logics for termination and correctness of functional programs – Feferman - 1992
24 Constructive Foundations for Functional Languages – Turner - 1991
22 On inner classes – Igarashi, Pierce
20 An event-based structural operational semantics of multi-threaded Java – Cenciarelli, Knapp, et al. - 1999
13 Proving programs and programming proofs – Beeson - 1986
12 A little Java, a few patterns – Felleisen, Friedman - 1998
12 Induction in the elementary theory of types and names – Jäger - 1988
10 Why the constant ‘undefined’? Logics of partial terms for strict and non-strict functional programming languages – Stärk - 1998
9 Object-Oriented Programming: A Unified Foundation. Birkhäuser – Castagna - 1997
9 Weak theories of operations and types – Turner - 1996
8 Call-by-value, call-by-name and the logic of values – Stärk - 1997
7 A semantics for λ {} str: a calculus with overloading and late-binding – Studer
6 von Oheimb. Javaℓight is type-safe — definitely – Nipkow, David - 1998
5 A semantics for λ&-early: A calculus with overloading and early binding – Castagna, Ghelli, et al. - 1993
5 A static type system for late binding overloading – Ghelli - 1991
4 Type theory and explicit mathematics – Jäger - 1989
4 Einbettung des Beweissystems Lambda in eine Theorie von Operationen und Zahlen – Kahle - 1992
4 Impredicative overloading in explicit mathematics – Studer
4 Realizability for Constructive Theory of Functions and Classes and Its Application to Program Synthesis – Tatsuta - 1998
2 Alves-Foss and Fong Shing Lam. Dynamic denotational semantics of Java – Jim - 1999
2 A module calculus for Featherweight Java – Ancona, Zucca
2 Formalizing non-termination of recursive programs – Kahle, Studer
2 Axiomatic semantics for Javaℓight – Oheimb - 2000
1 Dependent choice in explicit mathematics. Diploma thesis, Institut für Informatik und angewandte Mathematik – Probst - 1999