{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2022,4,1]],"date-time":"2022-04-01T22:27:59Z","timestamp":1648852079497},"reference-count":15,"publisher":"Association for Computing Machinery (ACM)","issue":"4-6","license":[{"start":{"date-parts":[[2012,7,1]],"date-time":"2012-07-01T00:00:00Z","timestamp":1341100800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Form. Asp. Comput."],"published-print":{"date-parts":[[2012,7]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:p>We demonstrate how to build certain cyclic and other multi-linked structures in the lazy functional programming language Haskell. No explicit pointers are used in these constructions. Each task is accomplished by starting with a suitable specification and then calculating the required program.<\/jats:p>","DOI":"10.1007\/s00165-012-0243-6","type":"journal-article","created":{"date-parts":[[2012,6,28]],"date-time":"2012-06-28T08:35:50Z","timestamp":1340872550000},"page":"609-621","source":"Crossref","is-referenced-by-count":1,"title":["On building cyclic and shared structures in Haskell"],"prefix":"10.1145","volume":"24","author":[{"given":"Richard S.","family":"Bird","sequence":"first","affiliation":[{"name":"Department of Computer Science, Oxford University, Wolfson Building, Parks Road, OX1 3QD, Oxford, UK"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","reference":[{"key":"e_1_2_1_2_1_2","doi-asserted-by":"publisher","DOI":"10.5555\/1951654"},{"key":"e_1_2_1_2_2_2","doi-asserted-by":"crossref","unstructured":"Bird RS Hinze R (2003) Trouble shared is trouble halved. ACM SIGPLAN Haskell Workshop Uppsala Sweden","DOI":"10.1145\/871895.871896"},{"key":"e_1_2_1_2_3_2","doi-asserted-by":"crossref","unstructured":"Bornat R (2000) Proving pointer programs in Hoare logic. In: LNCS 1837: Fifth mathematics of program construction conference pp 102\u2013126","DOI":"10.1007\/10722010_8"},{"key":"e_1_2_1_2_4_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(98)00016-1"},{"key":"e_1_2_1_2_5_2","volume-title":"Introduction to algorithms","author":"Cormen TH","year":"2001"},{"key":"e_1_2_1_2_6_2","unstructured":"Coutts D (2012) Building recursive data structures in Haskell. http:\/\/www.cs.ox.ac.uk\/duncan.coutts\/papers\/recursive_data_structures_in_haskell.pdf"},{"key":"e_1_2_1_2_7_2","unstructured":"Tying the Knot (2012) http:\/\/www.haskell.org\/haskellwiki\/Tying_the_Knot"},{"key":"e_1_2_1_2_8_2","unstructured":"Hoare CARH (1972) Notes on data structuring. In: Structured programming. Academic Press London"},{"key":"e_1_2_1_2_9_2","doi-asserted-by":"publisher","DOI":"10.1137\/0206024"},{"key":"e_1_2_1_2_10_2","doi-asserted-by":"publisher","DOI":"10.5555\/98158"},{"key":"e_1_2_1_2_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0049-237X(08)72018-4"},{"key":"e_1_2_1_2_12_2","doi-asserted-by":"crossref","unstructured":"M\u00f6ller B (1997) Calculating with pointer structures. IFIP TC2\/WG2.1 Working conference on Algorithmic Languages and Calculi Chapman and Hall London UK","DOI":"10.1007\/978-0-387-35264-0_2"},{"key":"e_1_2_1_2_13_2","unstructured":"Morgan C (1994) Programming from Specifications 2nd edn. http:\/\/www.cs.ox.ac.uk\/publications\/books\/PfS\/"},{"key":"e_1_2_1_2_14_2","doi-asserted-by":"crossref","unstructured":"O\u2019Hearn PW Yang H Reynolds J (2004) Separation and Information Hiding. 31st Principles of Programming Languages Conference. ACM Publications New York pp 268\u2013280","DOI":"10.1145\/964001.964024"},{"key":"e_1_2_1_2_15_2","unstructured":"Sloane NJA (2012) On-Line Encyclopedia of Integer Sequences: A002627. http:\/\/\/www.oeis.org"}],"container-title":["Formal Aspects of Computing"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s00165-012-0243-6.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s00165-012-0243-6\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1007\/s00165-012-0243-6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,1,6]],"date-time":"2022-01-06T16:01:09Z","timestamp":1641484869000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1007\/s00165-012-0243-6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,7]]},"references-count":15,"journal-issue":{"issue":"4-6","published-print":{"date-parts":[[2012,7]]}},"alternative-id":["10.1007\/s00165-012-0243-6"],"URL":"https:\/\/doi.org\/10.1007\/s00165-012-0243-6","relation":{},"ISSN":["0934-5043","1433-299X"],"issn-type":[{"value":"0934-5043","type":"print"},{"value":"1433-299X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2012,7]]}}}