Traditional arguments concerning the comprehensi-bility of functional programs have been illustrated with trivial examples. In this paper, we present the real-life example of a large system for natural language processing which has been programmed entirely in a lazy functional language. This system is undergoing constant change as new features are added to differ-ent areas. We present a series of case studies which illustrate various aspects of the maintenance task, in-cluding reuse of existing parts of the system and the integration of the new features. We explain how the choice of a functional language for programming the system has aided in the comprehension of the system by new programmers and how this in turn has led to the simplification of the maintenance task. We describe the ease with which new features have been integrated into the system and relate this to the careful design of abstractions within a functional programming frame-work.
|Title of host publication||2nd IEEE Workshop on Program Comprehension, WPC 1993|
|Publisher||IEEE Computer Society|
|Number of pages||9|
|Publication status||Published - 1993|
|Event||2nd IEEE Workshop on Program Comprehension, WPC 1993 - Capri, Italy|
Duration: 8 Jul 1993 → 9 Jul 1993
|Name||IEEE International Conference on Program Comprehension|
|Conference||2nd IEEE Workshop on Program Comprehension, WPC 1993|
|Period||8/07/93 → 9/07/93|
Bibliographical noteFunding Information:
*This research is supported by grants from the Science and Engineering Research Council of Great Britain.
© 1993 IEEE.
ASJC Scopus subject areas
- Hardware and Architecture