{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T23:05:33Z","timestamp":1779836733536,"version":"3.53.1"},"reference-count":11,"publisher":"Cambridge University Press (CUP)","issue":"1","license":[{"start":{"date-parts":[[2009,1,1]],"date-time":"2009-01-01T00:00:00Z","timestamp":1230768000000},"content-version":"unspecified","delay-in-days":0,"URL":"https:\/\/www.cambridge.org\/core\/terms"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Funct. Prog."],"published-print":{"date-parts":[[2009,1]]},"abstract":"<jats:title>Abstract<\/jats:title>\n                  <jats:p>We present two implementations of Oppen's pretty-printing algorithm in Haskell that meet the efficiency of Oppen's imperative solution but have a simpler and a clear structure. We start with an implementation that uses lazy evaluation to simulate two co-operating processes. Then we present an implementation that uses higher-order functions for delimited continuations to simulate co-routines with explicit scheduling.<\/jats:p>","DOI":"10.1017\/s0956796808006990","type":"journal-article","created":{"date-parts":[[2008,10,7]],"date-time":"2008-10-07T04:56:08Z","timestamp":1223355368000},"page":"1-16","source":"Crossref","is-referenced-by-count":20,"title":["Linear, bounded, functional pretty-printing"],"prefix":"10.1017","volume":"19","author":[{"given":"S. DOAITSE","family":"SWIERSTRA","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"OLAF","family":"CHITIL","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"56","published-online":{"date-parts":[[2009,1,1]]},"reference":[{"key":"S0956796808006990_ref10","doi-asserted-by":"publisher","DOI":"10.1007\/10704973_4"},{"key":"S0956796808006990_ref2","first-page":"183","volume-title":"ACM Sigplan Haskell Workshop","author":"Chitil","year":"2001"},{"key":"S0956796808006990_ref8","unstructured":"Peyton Jones, Simon L. (1997) A Pretty Printer Library in {H}askell. Part of the GHC distribution at http:\/\/www.haskell.org\/ghc."},{"key":"S0956796808006990_ref5","volume-title":"Advanced Functional Programming","author":"Hughes","year":"1995"},{"key":"S0956796808006990_ref1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264249"},{"key":"S0956796808006990_ref3","doi-asserted-by":"publisher","DOI":"10.1145\/1053468.1053473"},{"key":"S0956796808006990_ref4","unstructured":"Chitil Olaf. (2006) Pretty Printing with Delimited Continuations. Technical Report 4-06. Computing Laboratory, University of Kent."},{"key":"S0956796808006990_ref6","doi-asserted-by":"publisher","DOI":"10.1017\/CBO9780511530104"},{"key":"S0956796808006990_ref7","doi-asserted-by":"publisher","DOI":"10.1145\/357114.357115"},{"key":"S0956796808006990_ref9","volume-title":"Linear, Online, Functional Pretty Printing (Corrected and Extended Version).","author":"Swierstra","year":"2004"},{"key":"S0956796808006990_ref11","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-349-91518-7_11"}],"container-title":["Journal of Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.cambridge.org\/core\/services\/aop-cambridge-core\/content\/view\/S0956796808006990","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,5,26]],"date-time":"2026-05-26T22:35:56Z","timestamp":1779834956000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.cambridge.org\/core\/product\/identifier\/S0956796808006990\/type\/journal_article"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,1]]},"references-count":11,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2009,1]]}},"alternative-id":["S0956796808006990"],"URL":"https:\/\/doi.org\/10.1017\/s0956796808006990","relation":{},"ISSN":["0956-7968","1469-7653"],"issn-type":[{"value":"0956-7968","type":"print"},{"value":"1469-7653","type":"electronic"}],"subject":[],"published":{"date-parts":[[2009,1]]}}}