{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,31]],"date-time":"2026-03-31T07:43:43Z","timestamp":1774943023151,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":25,"publisher":"ACM","license":[{"start":{"date-parts":[[2008,1,7]],"date-time":"2008-01-07T00:00:00Z","timestamp":1199664000000},"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":[[2008,1,7]]},"DOI":"10.1145\/1328438.1328475","type":"proceedings-article","created":{"date-parts":[[2008,1,7]],"date-time":"2008-01-07T09:45:40Z","timestamp":1199699140000},"page":"297-308","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":31,"title":["Foundations for structured programming with GADTs"],"prefix":"10.1145","author":[{"given":"Patricia","family":"Johann","sequence":"first","affiliation":[{"name":"Rutgers University, Camden, NJ"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Neil","family":"Ghani","sequence":"additional","affiliation":[{"name":"University of Nottingham, Nottingham, United Kingdom"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2008,1,7]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1016\/0304-3975(90)90151-7"},{"key":"e_1_3_2_1_4_1","first-page":"52","volume-title":"Proc., Mathematics of Program Construction","author":"Meertens R.","year":"1998","unstructured":"Bird, R. and Meertens , L . Nested datatypes . Proc., Mathematics of Program Construction , pp. 52 -- 67 , 1998 . Bird, R. and Meertens, L. Nested datatypes. Proc., Mathematics of Program Construction, pp. 52--67, 1998."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796899003366"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/s001650050047"},{"key":"e_1_3_2_1_7_1","unstructured":"J. Cheney and R. Hinze. First-class phantom types. At http:\/\/www.informatik.uni-bonn.de\/~ralf\/publications\/Phantom.pdf  J. Cheney and R. Hinze. First-class phantom types. At http:\/\/www.informatik.uni-bonn.de\/~ralf\/publications\/Phantom.pdf"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01211308"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/165180.165214"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086403"},{"key":"e_1_3_2_1_11_1","first-page":"327","volume-title":"Proceedings, Asian Symposium on Programming Languages","author":"Ghani N.","year":"2003","unstructured":"N. Ghani , T. Uustalu , and V. Vene . Build, augment and destroy . Universally. Proceedings, Asian Symposium on Programming Languages , pp. 327 -- 347 , 2003 . N. Ghani, T. Uustalu, and V. Vene. Build, augment and destroy. Universally. Proceedings, Asian Symposium on Programming Languages, pp. 327--347, 2003."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.5555\/1770203.1770219"},{"key":"e_1_3_2_1_13_1","volume-title":"Programming with Nested Types. Submitted","author":"Johann P.","year":"2007","unstructured":"P. Johann and N. Ghani . Programming with Nested Types. Submitted , 2007 . P. Johann and N. Ghani. Programming with Nested Types. Submitted, 2007."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1022982420888"},{"key":"e_1_3_2_1_15_1","volume-title":"Categories for the Working Mathematician","author":"S.","year":"1971","unstructured":"MacLane, S. Categories for the Working Mathematician . Springer-Verlag , 1971 . MacLane, S. Categories for the Working Mathematician. Springer-Verlag, 1971."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00165-003-0013-6"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/11546382_3"},{"key":"e_1_3_2_1_18_1","unstructured":"The Omega Download Page. http:\/\/web.cecs.pdx.edu\/~sheard\/Omega\/index.html  The Omega Download Page. http:\/\/web.cecs.pdx.edu\/~sheard\/Omega\/index.html"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/645736.666272"},{"key":"e_1_3_2_1_20_1","unstructured":"T. Sheard J. Hook and N Linger. GADTs + extensible kinds = dependent programming. At http:\/\/www.cs.pdx.edu\/~sheard\/papers\/GADT+ExtKinds.ps  T. Sheard J. Hook and N Linger. GADTs + extensible kinds = dependent programming. At http:\/\/www.cs.pdx.edu\/~sheard\/papers\/GADT+ExtKinds.ps"},{"key":"e_1_3_2_1_21_1","volume-title":"Proceedings, Logical Frameworks and Meta-languages","author":"Sheard T.","year":"2004","unstructured":"T. Sheard and E. Pasalic . Meta-programming with built-in type equality . Proceedings, Logical Frameworks and Meta-languages , 2004 . At http:\/\/homepage.mac.com\/pasalic\/p2\/papers\/LFM04.pdf T. Sheard and E. Pasalic. Meta-programming with built-in type equality. Proceedings, Logical Frameworks and Meta-languages, 2004. At http:\/\/homepage.mac.com\/pasalic\/p2\/papers\/LFM04.pdf"},{"key":"e_1_3_2_1_22_1","unstructured":"M. Sulzmann and M. Wang. A systematic translation of guarded recursive data types to existential types. At http:\/\/www.comp.nus.edu.sg\/~sulzmann\/research\/ms.html  M. Sulzmann and M. Wang. A systematic translation of guarded recursive data types to existential types. At http:\/\/www.comp.nus.edu.sg\/~sulzmann\/research\/ms.html"},{"key":"e_1_3_2_1_23_1","volume-title":"Manuscript","author":"Sulzmann M.","year":"2005","unstructured":"M. Sulzmann and M. Wang . Translating generalized algebraic data types to System F . Manuscript , 2005 . At http:\/\/www.comp.nus.edu.sg\/~sulzmann\/manuscript\/simple-translate-gadts.ps M. Sulzmann and M. Wang. Translating generalized algebraic data types to System F. Manuscript, 2005. At http:\/\/www.comp.nus.edu.sg\/~sulzmann\/manuscript\/simple-translate-gadts.ps"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/581478.581491"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/224164.224221"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/604131.604150"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/292540.292560"}],"event":{"name":"POPL08: The 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","location":"San Francisco California USA","acronym":"POPL08","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery","SIGACT ACM Special Interest Group on Algorithms and Computation Theory"]},"container-title":["Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1328438.1328475","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1328438.1328475","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T09:56:07Z","timestamp":1750240567000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1328438.1328475"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2008,1,7]]},"references-count":25,"alternative-id":["10.1145\/1328438.1328475","10.1145\/1328438"],"URL":"https:\/\/doi.org\/10.1145\/1328438.1328475","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1328897.1328475","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2008,1,7]]},"assertion":[{"value":"2008-01-07","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}