Tytuł artykułu
Autorzy
Wybrane pełne teksty z tego czasopisma
Identyfikatory
Warianty tytułu
Języki publikacji
Abstrakty
The paper investigates the use of preprocessing in adding higher order functionalities to Java, that is in passing methods to other methods. The approach is based on a mechanism which offers a restricted, disciplined, form of abstraction that is suitable to the integration of high order and object oriented programming. We show how this integration can be exploited in programming through the development of an example. Then, we discuss how the expressive power of the language is improved. A new syntax is introduced for formal and actual parameters, hence the paper defines a translation that, at preprocessing time, maps programs of the extended language into programs of ordinary Java.
Słowa kluczowe
Wydawca
Czasopismo
Rocznik
Tom
Strony
35--50
Opis fizyczny
bibliogr. 25 poz.
Twórcy
Bibliografia
- [1] M. Abadi and L. Cardelli. A theory of objects. Springer-Verlag, 1996.
- [2] A.V. Aho, R. Sethi, and J.D. Ullman. Compilers: Principles, Tecniques, and Tools. Addison-Wesley, 1988.
- [3] J. Backus. Can programming be liberated from the von neumann style? a functional style and its algebra of programs. Communication of the ACM, 21:613-641, 1978.
- [4] J. Bloch. Programming Language Guide. Prentice Hall PTR, 2001.
- [5] M. Bellia andM.E. Occhiuto. Higher order programming through Java reflection. In CS&P'2004, volume 3, pages 447-459, 2004.
- [6] M. Bellia and M.E. Occhiuto. Higher order programming in Java: Introspection, Subsumption and Extraction. Fundamenta Informaticae, 67(1):29-44, 2005.
- [7] M. Bellia and M.E. Occhiuto. From Object Calculus to Java with Passing and Extraction of Methods. University of Pisa, Dipartimento Informatica, 2006.
- [8] M. Bellia and M.E. Occhiuto. Jh-preprocessing, 2007. //http://www.di.unipi.it/ occhiuto/JH/.
- [9] B. Bringert. HOJ - higher-order Java, 2005. //cs.chalmers.se/bringert/hoj/.
- [10] G. Castagna. Object-Oriented Programming: A Unified Foundation. Birkhauser Verlag AG, 1997.
- [11] Microsoft Corporation. Delegates in visual J++, 2004. //msdn.microsoft.com/vjsharp/productinfo/visualj/ visualj6/technical/articles/general/delegates/default.aspx.
- [12] R. Dyer, H. Narayanappa, and H. Rajan. Nu: Preserving design modularity in object code. ACM SIGSOFT Software Engeneering Notes, 31, 2006.
- [13] J. Gosling, B. Joy, G. Steele, and G. Bracha. The JavaTM Language Specification - Second Edition. Addison-Wesley, 2000.
- [14] J. Gosling, B. Joy, G. Steele, and G. Bracha. The JavaTM Language Specification - Third Edition. Addison-Wesley, 2005.
- [15] P. Hudak. Conception, evolution , and application of functional programming languages. ACM Computing Surveys, 21:359-411, 1989.
- [16] P. Hudak. The Haskell school of Expression. Cambridge University Press, 2000.
- [17] K. Jensen and N. Wirth. Pascal User Manual and Report. Springer, 1975.
- [18] B. W. Kernighan and D. M. Ritchie. The C programming Language. Prentice-Hall, 1988.
- [19] H. Langmaack, A. Salwicki, and M. Warpechowski. A deterministic algorithm elaborating direct superclasses in java-like languages. In CS&P'2007, pages 388-399, 2007.
- [20] G. McCluskey. Using method pointers and abstract classes vs. interfaces. Electronic Notes TCS, 2001. //java.sun.com/developer/JDCTechTips/2001/tt1106.html.
- [21] E. Meijer. Lambada, Haskell as a better Java. Electronic Notes TCS, 41(1), 2001.
- [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] H. Schildt. C++ The Complete Reference. McGraw Hill, Inc, 1995.
- [24] A. Setzer. Java as a functional programming language. In TYPES 2002,LNCS 2646., pages 279-298, 2003.
- [25] P.Wadler. The essence of functional programming. In Proc. 19th Symposium on Principles of Programming Languages, pages 1-14, 1992.
Typ dokumentu
Bibliografia
Identyfikator YADDA
bwmeta1.element.baztech-article-BUS5-0016-0003