{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:40:46Z","timestamp":1750308046106,"version":"3.41.0"},"reference-count":5,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2006,3,1]],"date-time":"2006-03-01T00:00:00Z","timestamp":1141171200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["SIGPLAN Not."],"published-print":{"date-parts":[[2006,3]]},"abstract":"<jats:p>In this paper, we show how lazy functional programming techniques can be used within the Java programming language. We provide Java implementations of classic examples of lazy lists, such as the Sieve of Eratosthenes, the Eight Queens Problem, and natural-language parsing. We discuss how well these implementations succeed, compared to their original counterparts. We also point out the potential synergy between adding lazy techniques to Java, and adding generic types. The examples we provide would be suitable for teaching functional programming concepts in the context of a Java-based syllabus.<\/jats:p>","DOI":"10.1145\/1140543.1140549","type":"journal-article","created":{"date-parts":[[2006,7,24]],"date-time":"2006-07-24T17:00:26Z","timestamp":1153760426000},"page":"30-39","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Lazy functional programming in Java"],"prefix":"10.1145","volume":"41","author":[{"given":"Anthony H.","family":"Dekker","sequence":"first","affiliation":[{"name":"Defence Science and Technology Organisation, Canberra ACT"}]}],"member":"320","published-online":{"date-parts":[[2006,3]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Bird R. & Wadler P. (1988) Introduction to Functional Programming Prentice Hall.   Bird R. & Wadler P. (1988) Introduction to Functional Programming Prentice Hall."},{"key":"e_1_2_1_2_1","doi-asserted-by":"crossref","unstructured":"Clocksin W. F. & Mellish C. S. (1984) Programming in Prolog 2nd edition Springer-Verlag.   Clocksin W. F. & Mellish C. S. (1984) Programming in Prolog 2nd edition Springer-Verlag.","DOI":"10.1007\/978-3-642-96873-0"},{"key":"e_1_2_1_3_1","unstructured":"Java Community Process (2005) Java Specification Request 14: add generic types to the Java#8482; Programming Language: http:\/\/jcp.org\/en\/jsr\/detail?id=014  Java Community Process (2005) Java Specification Request 14: add generic types to the Java#8482; Programming Language: http:\/\/jcp.org\/en\/jsr\/detail?id=014"},{"key":"e_1_2_1_4_1","unstructured":"Reade C. (1989) Elements of Functional Programming Addison-Wesley.   Reade C. (1989) Elements of Functional Programming Addison-Wesley."},{"key":"e_1_2_1_5_1","unstructured":"Sun Microsystems (2005) Java Technology home page: http:\/\/java.sun.com\/  Sun Microsystems (2005) Java Technology home page: http:\/\/java.sun.com\/"}],"container-title":["ACM SIGPLAN Notices"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1140543.1140549","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1140543.1140549","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T15:14:31Z","timestamp":1750259671000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1140543.1140549"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,3]]},"references-count":5,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2006,3]]}},"alternative-id":["10.1145\/1140543.1140549"],"URL":"https:\/\/doi.org\/10.1145\/1140543.1140549","relation":{},"ISSN":["0362-1340","1558-1160"],"issn-type":[{"type":"print","value":"0362-1340"},{"type":"electronic","value":"1558-1160"}],"subject":[],"published":{"date-parts":[[2006,3]]},"assertion":[{"value":"2006-03-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}