{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,12,13]],"date-time":"2025-12-13T23:00:51Z","timestamp":1765666851304,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":22,"publisher":"ACM","license":[{"start":{"date-parts":[[2009,9,3]],"date-time":"2009-09-03T00:00:00Z","timestamp":1251936000000},"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":[[2009,9,3]]},"DOI":"10.1145\/1596638.1596653","type":"proceedings-article","created":{"date-parts":[[2009,9,8]],"date-time":"2009-09-08T12:53:09Z","timestamp":1252414389000},"page":"117-128","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":58,"title":["Type-safe observable sharing in Haskell"],"prefix":"10.1145","author":[{"given":"Andy","family":"Gill","sequence":"first","affiliation":[{"name":"University of Kansas, Lawrence, KS, USA"}]}],"member":"320","published-online":{"date-parts":[[2009,9,3]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017472.1017485"},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/289423.289440"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086397"},{"key":"e_1_3_2_2_5_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"62","DOI":"10.1007\/3-540-46674-6_7","volume-title":"Advances in Computing Science -- ASIAN'99","author":"Claessen Koen","year":"1999","unstructured":"Koen Claessen and David Sands . Observable sharing for functional circuit description . In P. S. Thiagarajan and Roland H. C. Yap, editors, Advances in Computing Science -- ASIAN'99 , volume 1742 of Lecture Notes in Computer Science , pages 62 -- 73 . Springer , 1999 . ISBN 3-540-66856-X. Koen Claessen and David Sands. Observable sharing for functional circuit description. In P. S. Thiagarajan and Roland H. C. Yap, editors, Advances in Computing Science -- ASIAN'99, volume 1742 of Lecture Notes in Computer Science, pages 62--73. Springer, 1999. ISBN 3-540-66856-X."},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017472.1017482"},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004574"},{"key":"e_1_3_2_2_8_1","first-page":"127","volume-title":"Graphviz and dynagraph -- static and dynamic graph drawing tools","author":"Ellson J.","year":"2003","unstructured":"J. Ellson , E.R. Gansner , E. Koutsofios , S.C. North , and G. Woodhull . Graphviz and dynagraph -- static and dynamic graph drawing tools . In M. Junger and P. Mutzel, editors, phGraph Drawing Software, pages 127 -- 148 . Springer-Verlag , 2003 . J. Ellson, E.R. Gansner, E. Koutsofios, S.C. North, and G. Woodhull. Graphviz and dynagraph -- static and dynamic graph drawing tools. In M. Junger and P. Mutzel, editors, phGraph Drawing Software, pages 127--148. Springer-Verlag, 2003."},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581693"},{"key":"e_1_3_2_2_10_1","first-page":"97","volume-title":"Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text","author":"Jones Mark P.","year":"1995","unstructured":"Mark P. Jones . Functional programming with overloading and higher-order polymorphism . In Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text , pages 97 -- 136 , London, UK , 1995 . Springer-Verlag . ISBN 3-540-59451-5. Mark P. Jones. Functional programming with overloading and higher-order polymorphism. In Advanced Functional Programming, First International Spring School on Advanced Functional Programming Techniques-Tutorial Text, pages 97--136, London, UK, 1995. Springer-Verlag. ISBN 3-540-59451-5."},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411286.1411298"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158618"},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/331960.331977"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/857172.857237"},{"key":"e_1_3_2_2_15_1","volume-title":"Applicative programing with effects. Journal of Functional Programming, 16 (6)","author":"McBride Conor","year":"2006","unstructured":"Conor McBride and Ross Patterson . Applicative programing with effects. Journal of Functional Programming, 16 (6) , 2006 . Conor McBride and Ross Patterson. Applicative programing with effects. Journal of Functional Programming, 16 (6), 2006."},{"key":"e_1_3_2_2_16_1","unstructured":"Matt Morrow. Vacuum. hackage.haskell.org\/package\/vacuum.  Matt Morrow. Vacuum. hackage.haskell.org\/package\/vacuum."},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/645610.661719"},{"key":"e_1_3_2_2_18_1","first-page":"178","volume-title":"Workshops in Computing","author":"O'Donnell John","year":"1992","unstructured":"John O'Donnell . Generating netlists from executable circuit specifications in a pure functional language. In Functional Programming, Glasgow 1992 , Workshops in Computing , pages 178 -- 194 . Springer-Verlag , 1992 . John O'Donnell. Generating netlists from executable circuit specifications in a pure functional language. In Functional Programming, Glasgow 1992, Workshops in Computing, pages 178--194. Springer-Verlag, 1992."},{"key":"e_1_3_2_2_19_1","volume-title":"Haskell 98 Language and Libraries -- The Revised Report","author":"Peyton Jones BookSimon","year":"2003","unstructured":"003)}Haskell98 BookSimon Peyton Jones , editor. Haskell 98 Language and Libraries -- The Revised Report . Cambridge University Press , Cambridge, England , 2003 . 003)}Haskell98BookSimon Peyton Jones, editor. Haskell 98 Language and Libraries -- The Revised Report. Cambridge University Press, Cambridge, England, 2003."},{"key":"e_1_3_2_2_20_1","volume-title":"Proceedings of the 11th International Workshop on the Implementation of Functional Languages, LNCS","author":"Jones Simon Peyton","year":"1999","unstructured":"Simon Peyton Jones , Simon Marlow , and Conal Elliott . Stretching the storage manager: weak pointers and stable names in Haskell . In Proceedings of the 11th International Workshop on the Implementation of Functional Languages, LNCS , The Netherlands , September 1999 . Springer-Verlag. Simon Peyton Jones, Simon Marlow, and Conal Elliott. Stretching the storage manager: weak pointers and stable names in Haskell. In Proceedings of the 11th International Workshop on the Implementation of Functional Languages, LNCS, The Netherlands, September 1999. Springer-Verlag."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.5555\/646187.683256"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.5555\/1058426.1058909"}],"event":{"name":"ICFP '09: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"],"location":"Edinburgh Scotland","acronym":"ICFP '09"},"container-title":["Proceedings of the 2nd ACM SIGPLAN symposium on Haskell"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596638.1596653","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1596638.1596653","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T12:23:29Z","timestamp":1750249409000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596638.1596653"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2009,9,3]]},"references-count":22,"alternative-id":["10.1145\/1596638.1596653","10.1145\/1596638"],"URL":"https:\/\/doi.org\/10.1145\/1596638.1596653","relation":{},"subject":[],"published":{"date-parts":[[2009,9,3]]},"assertion":[{"value":"2009-09-03","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}