DocumentCode
324444
Title
Leftover curry and reheated Pizza: how functional programming nourishes software reuse
Author
Odersky, Martin ; Wadler, Philip
Author_Institution
Univ. of South Australia, SA, Australia
fYear
1998
fDate
2-5 Jun 1998
Firstpage
2
Lastpage
11
Abstract
Functional programmers and reuse engineers dine at the same table. Delicacies like type abstraction and higher order functions are meat and potatoes for those who need to reuse code parameterised by types and operations. The article starts with a review of modern functional languages. Isolation has given way to systems that interact with C and COM components. Code quality can rival C. Functional programs deliver calls in Brussels, route planes through Paris, and play CDs over networks at Cornell. The article then describes Pizza, an attempt to make functional ideas accessible to a wider community by embedding them in Java. Pizza contains Java as a subset, so it is easy to learn, and it compiles to the Java Virtual Machine, so it runs anywhere Java runs, including Web browsers. We focus on how Pizza is designed to add parametric types on top of existing Java libraries, enhancing reuse. Applications of functional languages have been described elsewhere (P. Wadler, 1998); the paper describes salient features of the latest version of Pizza
Keywords
Internet; functional languages; functional programming; object-oriented languages; software reusability; COM components; Java Virtual Machine; Java libraries; Pizza; Web browsers; code quality; functional ideas; functional programming; higher order functions; modern functional languages; parametric types; reuse engineers; software reuse; type abstraction; Bridges; Functional programming; Isolation technology; Java; Law; Legal factors; Libraries; Pathology; Programming profession; Virtual machining;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Reuse, 1998. Proceedings. Fifth International Conference on
Conference_Location
Victoria, BC
ISSN
1085-9098
Print_ISBN
0-8186-8377-5
Type
conf
DOI
10.1109/ICSR.1998.685724
Filename
685724
Link To Document