{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2023,10,25]],"date-time":"2023-10-25T23:22:05Z","timestamp":1698276125574},"reference-count":7,"publisher":"Wiley","issue":"6","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":7091,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1987,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>The combined use of user\u2010defined infix operators and higher order functions allows the programmer to invent new control structures tailored to a particular problem area.<\/jats:p><jats:p>This paper is to suggest that such a combination has beneficial effects on the ease of both writing and reading programs, and hence can increase programmer productivity. As an example, a parser for a simple language is presented in this style. The compactness of this parser and its notational similarity to the BNF of the language are important advantages of the approach taken.<\/jats:p><jats:p>It is hoped that the presentation will be palatable to people unfamiliar with the concepts of functional programming.<\/jats:p>","DOI":"10.1002\/spe.4380170603","type":"journal-article","created":{"date-parts":[[2006,11,18]],"date-time":"2006-11-18T02:13:01Z","timestamp":1163815981000},"page":"379-386","source":"Crossref","is-referenced-by-count":14,"title":["Making form follow function: An exercise in functional programming style"],"prefix":"10.1002","volume":"17","author":[{"given":"Jon","family":"Fairbairn","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":"crossref","unstructured":"P.Henderson \u2018Functional geometry\u2019 1982 ACM Symposium on Lisp and Functional Programming. August1982.","DOI":"10.1145\/800068.802148"},{"key":"e_1_2_1_3_2","unstructured":"JonFairbairn \u2018Ponder and its type\u2010system\u2019 Technical Report 31 University of Cambridge Computer Laboratory 1983."},{"key":"e_1_2_1_4_2","unstructured":"MarkTillotson \u2018Introduction to the functional programming language Ponder\u2019 Technical Report 65 University of Cambridge Computer Laboratory 1985."},{"key":"e_1_2_1_5_2","volume-title":"Recursive Programming Techniques","author":"Burge W. H.","year":"1975"},{"key":"e_1_2_1_6_2","volume-title":"Functional Programming: Application and Implementation","author":"Henderson Peter","year":"1980"},{"key":"e_1_2_1_7_2","volume-title":"Lecture Notes in Computer Science 201","author":"Wadler Philip","year":"1985"},{"key":"e_1_2_1_8_2","unstructured":"Lawrence C.Paulson \u2018Interactive theorem proving with Cambridge LCF\u2014a users' manual\u2019 Technical Report 80 University of Cambridge Computer Laboratory November1985."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380170603","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380170603","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,20]],"date-time":"2023-10-20T19:49:45Z","timestamp":1697831385000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380170603"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1987,6]]},"references-count":7,"journal-issue":{"issue":"6","published-print":{"date-parts":[[1987,6]]}},"alternative-id":["10.1002\/spe.4380170603"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380170603","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,6]]}}}