PL EN


Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników
Tytuł artykułu

Properties of Java Simple Closures

Wybrane pełne teksty z tego czasopisma
Identyfikatory
Warianty tytułu
Języki publikacji
EN
Abstrakty
EN
In the last years, the Java community has been arguing about adding closures to Java in order to improve expressivity. The debate has not yet terminated but all proposals seem to converge towards a notion of Simple Closures which contain only the essential features of anonymous functions. This paper addresses the problem of defining a rigorous semantics for Simple Closures. The technique adopted is well known and has already been used to prove interesting properties of other extensions of Java. A minimal calculus is defined: Featherweight Java extended with Simple Closures. Syntax and semantics of such a calculus are defined and type safety, backward compatibility, and the abstraction property are proved.
Słowa kluczowe
Wydawca
Rocznik
Strony
237--253
Opis fizyczny
Bibliogr. 26 poz., tab.
Twórcy
autor
  • Dipartimento di Informatica Universita di Pisa Largo B. Pontecorvo, 3, I-56127 Pisa, Italy, bellia@di.unipi.it
Bibliografia
  • [1] H.P. Barendregt. Functional Pgramming and Lambda Calculus. Handbook Of Theoretical Computer Science, 2:321-363, 1990.
  • [2] G. Bracha, N. Gafter, J. Gosling, and P. von der Ahe. Closures for Java, 2006. http://blogs.sun.com/ahe/resource/closures.pdf.
  • [3] A. Buckley, J. Gibbons, and M. Reinhold. Project Lambda: Java Language Specification. Version 0.1. Sun Microsystem, Inc., January 2010. http://mail.openjdk.java.net/pipermail/lambda-dev/attachments/20100122/3764c21a/attachment.txt.
  • [4] A. Buckley, J. Gibbons, and M. Reinhold. State of the Lambda. Sun Microsystem, Inc., October 2010. http://cr.openjdk.java.net/∼briangoetz/lambda/lambda-state-3.html.
  • [5] M. Bellia and M.E. Occhiuto. Higher Order Programming in Java: Introspection, Subsumption and Extraction. Fundamenta Informaticae, 67(1):29-44, 2005.
  • [6] M. Bellia and M.E. Occhiuto. Methods as Parameters: A Preprocessing Approach to Higher Order in Java. Fundamenta Informaticae, 85(1):35-50, 2008.
  • [7] M. Bellia and M.E. Occhiuto. Java: Preprocessing Closures in Java. University of Pisa, Dipartimento Informatica, 2009.
  • [8] G. Bracha, M. Odersky, D. Stoutamire, and P. Wadler. Making the Future Safe for the Past: Adding Genericity to the Java Programming Language. In OOPSLA 1998, pages 183-200. Sigplan, 1998.
  • [9] B. Bringert. HOJ - Higher-Order Java, 2005. http://www.cse.chalmers.se/alumni/bringert/hoj/.
  • [10] S. Colebourne. Closures in JDK7, 2009. http://www.jroller.com/scolebourne/entry/closures in jdk 7.
  • [11] Microsoft Corporation. Delegates in Visual J++, 2004. http://msdn.microsoft.com/en-us/library/aa260511(v=vs.60).aspx.
  • [12] S. Colebourne and S. Shulz. First class methods: Java style closures, 2007. http://jroller.com/scolebourne/entry/first class methods java style.
  • [13] M. Felleisen D.P. Friedman. A Reduction Semantics for Imperative High-Order Languages. In PARLE Parallel Architectures and Languages Europe, volume 2007 of LNCS, pages 206-223. Springer, 1987.
  • [14] E. Gamma, R. Helm, R. Johnson, and J.M. Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 2005.
  • [15] N.M. Gafter and P. von der Ahè. Closures for Java (v0.6a), 2009. http://javac.info/closures-v06a.html.
  • [16] A. Igarashi and B. Pierce. On Inner Classes. Information and Computation, 77(1):56-89, 2002.
  • [17] A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: A Minimal Core Calculus for Java and GJ. Sigplan Notices, 34(10):132-146, 1999.
  • [18] A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: A Minimal Core Calculus for Java and GJ. ACM TOPLAS, 23:396-450, 2001.
  • [19] B. Lee, D. Lea, and J. Bloch. Concise Instance Creation Expressions: Closure without Complexity, 2006. http://crazybob.org/2006/10/java-closure-spectrum.html.
  • [20] E. Meijer. Lambada, Haskell as a better Java. Electronic Notes TCS, 41(1), 2001.
  • [21] Sun Microsystems. About Microsoft's Delegates, 2004. http://java.sun.com/docs/white/delegates.html.
  • [22] M. Odersky and P. Wadler. Pizza into Java: Translating Theory into Practice. In Proc. 24th Symposium on Principles of Programming Languages, pages 146-159, 1997.
  • [23] M. Reinhold. Project Lambda: Straw-Man Proposal, 2009. http://cr.openjdk.java.net/∼mr/lambda/strawman/.
  • [24] M. Reinhold. There's not a Moment to Lose! - Closures for Java, 2009. http://blogs.sun.com/mr/entry/closures.
  • [25] A. Setzer. Java as a Functional Programming Language. In TYPES 2002,LNCS 2646., pages 279-298, 2003.
  • [26] N. Sridranop and R. Stansifer. Higher-Order Functional Programming andWildcards in Java. In ACMSE 2007, ACM, pages 42-46, 2007.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BUS8-0018-0045
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.