{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:48:04Z","timestamp":1772164084604,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":10,"publisher":"ACM","license":[{"start":{"date-parts":[[2016,9,8]],"date-time":"2016-09-08T00:00:00Z","timestamp":1473292800000},"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":[],"published-print":{"date-parts":[[2016,9,8]]},"DOI":"10.1145\/2976002.2976004","type":"proceedings-article","created":{"date-parts":[[2016,8,26]],"date-time":"2016-08-26T08:40:09Z","timestamp":1472200809000},"page":"51-61","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["How to twist pointers without breaking them"],"prefix":"10.1145","author":[{"given":"Satvik","family":"Chauhan","sequence":"first","affiliation":[{"name":"Google, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Piyush P.","family":"Kurur","sequence":"additional","affiliation":[{"name":"IIT Kanpur, India"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Brent A.","family":"Yorgey","sequence":"additional","affiliation":[{"name":"Hendrix College, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,9,8]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796805005769"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-6423(99)00023-4"},{"key":"e_1_3_2_1_3_1","volume-title":"February","author":"Kmett E.","year":"2015","unstructured":"E. Kmett . The free theorem for fmap. https:\/\/www.schoolofhaskell. com\/user\/edwardk\/snippets\/fmap , February 2015 . E. Kmett. The free theorem for fmap. https:\/\/www.schoolofhaskell. com\/user\/edwardk\/snippets\/fmap, February 2015."},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"crossref","unstructured":"doi: 10.1017\/S0956796807006326. doi: 10.1017\/S0956796807006326.","DOI":"10.1017\/S0956796807006326"},{"key":"e_1_3_2_1_6_1","first-page":"323","volume-title":"Paterson. Constructing Applicative Functors","author":"O\u2019Sullivan B.","unstructured":"B. O\u2019Sullivan . The attoparsec library for Haskell. https:\/\/hackage. haskell.org\/package\/attoparsec. R . Paterson. Constructing Applicative Functors , pages 300\u2013 323 . Springer Berlin Heidelberg, Berlin, Heidelberg, 2012. B. O\u2019Sullivan. The attoparsec library for Haskell. https:\/\/hackage. haskell.org\/package\/attoparsec. R. Paterson. Constructing Applicative Functors, pages 300\u2013323. Springer Berlin Heidelberg, Berlin, Heidelberg, 2012."},{"key":"e_1_3_2_1_7_1","series-title":"LNCS-Tutorial","first-page":"207","volume-title":"Advanced Functional Programming","author":"Swierstra S. D.","unstructured":"S. D. Swierstra and L. Duponcheel . Deterministic, error-correcting combinator parsers . In J. Launchbury, E. Meijer, and T. Sheard, editors, Advanced Functional Programming , volume 1129 of LNCS-Tutorial , pages 184\u2013 207 . Springer-Verlag, 1996. S. D. Swierstra and L. Duponcheel. Deterministic, error-correcting combinator parsers. In J. Launchbury, E. Meijer, and T. Sheard, editors, Advanced Functional Programming, volume 1129 of LNCS-Tutorial, pages 184\u2013 207. Springer-Verlag, 1996."},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"crossref","unstructured":"J. Van der Jeugt S. Meier and L. P. Smith. The blaze builder library for Haskell. https:\/\/hackage.haskell.org\/package\/ blaze-builder. P. Wadler. Theorems for free! In Proceedings of the fourth international conference on Functional programming languages and computer architecture pages 347\u2013359. ACM 1989. J. Van der Jeugt S. Meier and L. P. Smith. The blaze builder library for Haskell. https:\/\/hackage.haskell.org\/package\/ blaze-builder. P. Wadler. Theorems for free! In Proceedings of the fourth international conference on Functional programming languages and computer architecture pages 347\u2013359. ACM 1989.","DOI":"10.1145\/99370.99404"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2808083.2808085"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2364506.2364520"}],"event":{"name":"ICFP'16: ACM SIGPLAN International Conference on Functional Programming","location":"Nara Japan","acronym":"ICFP'16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 9th International Symposium on Haskell"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2976002.2976004","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2976002.2976004","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:50:19Z","timestamp":1750204219000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2976002.2976004"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,9,8]]},"references-count":10,"alternative-id":["10.1145\/2976002.2976004","10.1145\/2976002"],"URL":"https:\/\/doi.org\/10.1145\/2976002.2976004","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3241625.2976004","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,9,8]]},"assertion":[{"value":"2016-09-08","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}