Jonathan E. Hazan, S. Jarvis, Richard G. Morgan, R. Garigliano
{"title":"理解洛丽塔:函数式语言中的程序理解","authors":"Jonathan E. Hazan, S. Jarvis, Richard G. Morgan, R. Garigliano","doi":"10.1109/WPC.1993.263909","DOIUrl":null,"url":null,"abstract":"Traditional arguments concerning the comprehensibility of functional programs have been illustrated with trivial examples. The authors 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 different areas. They present a series of case studies which illustrate various aspects of the maintenance task, including reuse of existing parts of the system and the integration of the new features. They 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. They 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 framework.<<ETX>>","PeriodicalId":151277,"journal":{"name":"[1993] IEEE Second Workshop on Program Comprehension","volume":"4 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1993-07-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":"{\"title\":\"Understanding Lolita: program comprehension in functional languages\",\"authors\":\"Jonathan E. Hazan, S. Jarvis, Richard G. Morgan, R. Garigliano\",\"doi\":\"10.1109/WPC.1993.263909\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Traditional arguments concerning the comprehensibility of functional programs have been illustrated with trivial examples. The authors 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 different areas. They present a series of case studies which illustrate various aspects of the maintenance task, including reuse of existing parts of the system and the integration of the new features. They 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. They 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 framework.<<ETX>>\",\"PeriodicalId\":151277,\"journal\":{\"name\":\"[1993] IEEE Second Workshop on Program Comprehension\",\"volume\":\"4 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1993-07-08\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"6\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"[1993] IEEE Second Workshop on Program Comprehension\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/WPC.1993.263909\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"[1993] IEEE Second Workshop on Program Comprehension","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/WPC.1993.263909","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Understanding Lolita: program comprehension in functional languages
Traditional arguments concerning the comprehensibility of functional programs have been illustrated with trivial examples. The authors 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 different areas. They present a series of case studies which illustrate various aspects of the maintenance task, including reuse of existing parts of the system and the integration of the new features. They 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. They 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 framework.<>