{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,24]],"date-time":"2023-10-24T19:04:15Z","timestamp":1698174255202},"reference-count":14,"publisher":"Wiley","issue":"9","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6999,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1987,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The transition from imperative programming to functional programming for problems whose mathematical nature is not immediately obvious raises two questions. First, how can the function concept be applied to such problems, and, secondly, what language concepts are most suited in this situation. This paper shows that an existing functional programming language is very well suited for the elegant implementation of interactive programs. As an example, a text editor is described. The implementation of the editor has once more demonstrated the benefits of functional programming: fast generation of short and reliable programs. This indicates that it is worth while to investigate the application fields of functional programming languages as well as their implementation, in order to try to make them into general\u2010purpose programming languages that can be used in a production environment.<\/jats:p>","DOI":"10.1002\/spe.4380170905","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T04:48:26Z","timestamp":1163825306000},"page":"609-622","source":"Crossref","is-referenced-by-count":6,"title":["Interactive programs in a functional language: A functional implementation of an editor"],"prefix":"10.1002","volume":"17","author":[{"given":"Pieter W. M.","family":"Koopman","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1109\/TC.1984.1676387"},{"key":"e_1_2_1_3_2","first-page":"177","volume-title":"Functional Programming, an Advanced Course","author":"Henderson P.","year":"1982"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1016\/0167-6423(82)90014-4"},{"key":"e_1_2_1_5_2","doi-asserted-by":"crossref","unstructured":"G.Feldman \u2018Functional specifications of a text editor\u2019 Proc. 1982 ACM Symp. on Lisp and Functional Program. 37\u201346(1982).","DOI":"10.1145\/800068.802133"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1145\/988346.988352"},{"key":"e_1_2_1_7_2","volume-title":"Formal Aspects of VLSI Design","author":"Boute R. T.","year":"1986"},{"key":"e_1_2_1_8_2","volume-title":"Combinatory Logic","author":"Curry","year":"1958"},{"key":"e_1_2_1_9_2","volume-title":"SASL Language Manual (Revised Version)","author":"Turner D. A.","year":"1979"},{"key":"e_1_2_1_10_2","unstructured":"H.Oolman \u2018A user\u2010friendly and modular SASL implementation\u2019 Proceedings of the Workshop on Implementation of Functional Languages Report 17 Programming Methodology Group University of G\u00f6teborg Sweden 1986."},{"key":"e_1_2_1_11_2","volume-title":"UNIX Programmers Manual, volume 2A","author":"Kernighan B. W.","year":"1979"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1145\/17919.806823"},{"key":"e_1_2_1_13_2","unstructured":"T. G. A.van der LeeandH.Oolman \u2018Tracing and debugging SASL\u2019 Internal report 66 Department of Computer Science University of Nijmegen Netherlands 1985."},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/502949.502880"},{"key":"e_1_2_1_15_2","doi-asserted-by":"crossref","unstructured":"T. H.Brus M. C. J. D.van Eekelen M. O.van LeerandM. J.Plasmeijer \u2018Clean a language for functional graph rewriting\u2019 to appear in the proceedings of the Third International Conference on Functional Programming Languages and Computer Architecture Oregon U.S.A. 1987.","DOI":"10.1007\/3-540-18317-5_20"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380170905","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380170905","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T10:03:01Z","timestamp":1697968981000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380170905"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1987,9]]},"references-count":14,"journal-issue":{"issue":"9","published-print":{"date-parts":[[1987,9]]}},"alternative-id":["10.1002\/spe.4380170905"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380170905","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1987,9]]}}}