{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:48:08Z","timestamp":1772164088891,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":75,"publisher":"ACM","license":[{"start":{"date-parts":[[2017,10,20]],"date-time":"2017-10-20T00:00:00Z","timestamp":1508457600000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000185","name":"Defense Advanced Research Projects Agency","doi-asserted-by":"publisher","award":["#FA8750-16-2-0042"],"award-info":[{"award-number":["#FA8750-16-2-0042"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100009226","name":"National Security Agency","doi-asserted-by":"publisher","award":["Lablet contract #H98230-14-C-0140"],"award-info":[{"award-number":["Lablet contract #H98230-14-C-0140"]}],"id":[{"id":"10.13039\/100009226","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2016,10,20]]},"DOI":"10.1145\/2993236.2993245","type":"proceedings-article","created":{"date-parts":[[2016,10,21]],"date-time":"2016-10-21T10:16:42Z","timestamp":1477045002000},"page":"81-92","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":3,"title":["Programmable semantic fragments: the design and implementation of typy"],"prefix":"10.1145","author":[{"given":"Cyrus","family":"Omar","sequence":"first","affiliation":[{"name":"Carnegie Mellon University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jonathan","family":"Aldrich","sequence":"additional","affiliation":[{"name":"Carnegie Mellon University, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2016,10,20]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"Flow \u2014 A static type checker for JavaScript. http:\/\/ flowtype.org\/. 1"},{"key":"e_1_3_2_1_2_1","unstructured":"PEP 3107 \u2013 Function Annotations. https:\/\/www.python. org\/dev\/peps\/pep-3107\/. 2.1"},{"key":"e_1_3_2_1_3_1","unstructured":"PureScript. http:\/\/www.purescript.org\/. 1"},{"key":"e_1_3_2_1_4_1","first-page":"3","volume":"1","author":"Specification The","year":"2010","unstructured":"The OpenCL Specification, Version 1.1, 2010. 3.2","journal-title":"Version 1"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/2676726.2677013"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297081.1297091"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167479"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/11541868_4"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-739X(02)00171-1"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/317636.317791"},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_11"},{"key":"e_1_3_2_1_12_1","volume-title":"Pluggable Type Systems. In OOPSLA Workshop on Revival of Dynamic Languages","author":"Bracha G.","year":"2004","unstructured":"G. Bracha. Pluggable Type Systems. In OOPSLA Workshop on Revival of Dynamic Languages, 2004. 4"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2872362.2872364"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489837.2489840"},{"key":"e_1_3_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/1706299.1706312"},{"key":"e_1_3_2_1_16_1","unstructured":"D. R. Christiansen. Bidirectional Typing Rules: A Tutorial. http:\/\/davidchristiansen.dk\/tutorials\/ bidirectional.pdf 2013. 2.3"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/1346281.1346312"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1577824.1577829"},{"key":"e_1_3_2_1_19_1","volume-title":"Workshop on Scheme and Functional Programming","author":"Culpepper R.","year":"2007","unstructured":"R. Culpepper, S. Tobin-Hochstadt, and M. Flatt. Advanced macrology and the implementation of Typed Scheme. In Workshop on Scheme and Functional Programming, 2007. 4"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048113"},{"key":"e_1_3_2_1_21_1","volume-title":"POPL","author":"Delaware B.","year":"2013","unstructured":"B. Delaware, B. C. d. S. Oliveira, and T. Schrijvers. Metatheory \u00e0 la carte. In POPL, 2013. 4"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1976.233534"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500365.2500582"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1297027.1297029"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517208.2517210"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-02654-1_11"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/1795772"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808006928"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/2063176.2063195"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796812000093"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/113445.113468"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2687148.2687152"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814228.2814239"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/3002812"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/888856"},{"key":"e_1_3_2_1_36_1","volume-title":"the revised report","author":"Jones S. P.","year":"2003","unstructured":"S. P. Jones. Haskell 98 language and libraries: the revised report. Cambridge University Press, 2003. 2.4"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.5555\/574212"},{"key":"e_1_3_2_1_38_1","first-page":"1","article-title":"PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation","author":"Kl\u00f6ckner A.","year":"2011","unstructured":"A. Kl\u00f6ckner, N. Pinto, Y. Lee, B. Catanzaro, P. Ivanov, and A. Fasih. PyCUDA and PyOpenCL: A Scripting-Based Approach to GPU Run-Time Code Generation. Parallel Computing, 2011. 1, 3.2","journal-title":"Parallel Computing"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_2_1_40_1","unstructured":"J. Lehtosalo. mypy - Optional Static Typing for Python. http:\/\/www.mypy-lang.org\/. Retrieved June 24 2016. 4"},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508168.2508170"},{"key":"e_1_3_2_1_42_1","volume-title":"The OCaml system release 4.02 Documentation and user\u2019s manual","author":"Leroy X.","year":"2014","unstructured":"X. Leroy, D. Doligez, A. Frisch, J. Garrigue, D. R\u00e9my, and J. Vouillon. The OCaml system release 4.02 Documentation and user\u2019s manual. Institut National de Recherche en Informatique et en Automatique, September 2014. 2.4"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004550"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28718"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1667048.1667049"},{"key":"e_1_3_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/1498926.1498930"},{"key":"e_1_3_2_1_47_1","volume-title":"LogiCal Project","author":"The","year":"2004","unstructured":"The Coq development team. The Coq proof assistant reference manual. LogiCal Project, 2004. Version 8.0. 4"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1016\/0022-0000(78)90014-4"},{"key":"e_1_3_2_1_49_1","unstructured":"U. Norell. Towards a practical programming language based on dependent type theory. PhD thesis Chalmers University of Technology 2007. 4 5"},{"key":"e_1_3_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.5555\/1765931.1765947"},{"key":"e_1_3_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/360204.360207"},{"key":"e_1_3_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2007.58"},{"key":"e_1_3_2_1_53_1","volume-title":"d. S. Oliveira and W. R. Cook. Extensibility for the masses","author":"B.","year":"2012","unstructured":"B. C. d. S. Oliveira and W. R. Cook. Extensibility for the masses. In ECOOP. Springer, 2012. 4"},{"key":"e_1_3_2_1_54_1","unstructured":"C. Omar and J. Aldrich. Programmable Semantic Fragments (Extended Version). Technical Report CMU-ISR-16-112 Carnegie Mellon University. 2.1 2.3.1 7 2.4"},{"key":"e_1_3_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_5"},{"key":"e_1_3_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/345099.345100"},{"key":"e_1_3_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509536"},{"key":"e_1_3_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1145\/2371401.2371420"},{"key":"e_1_3_2_1_59_1","volume-title":"Conference on New Directions on Algorithmic Languages","author":"Reynolds J. C.","year":"1975","unstructured":"J. C. Reynolds. User-defined types and procedural data structures as complementary approaches to data abstraction. In Conference on New Directions on Algorithmic Languages, Aug. 1975. 1, 4"},{"key":"e_1_3_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/2184319.2184345"},{"key":"e_1_3_2_1_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/2428116.2428120"},{"key":"e_1_3_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1145\/1542476.1542499"},{"key":"e_1_3_2_1_63_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0049-237X(08)71262-X"},{"key":"e_1_3_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-73589-2_2"},{"key":"e_1_3_2_1_65_1","volume-title":"Scheme and Functional Programming Workshop","author":"Siek J. G.","year":"2006","unstructured":"J. G. Siek and W. Taha. Gradual typing for functional languages. In Scheme and Functional Programming Workshop, 2006. 4"},{"key":"e_1_3_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/231379.231414"},{"key":"e_1_3_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_3_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391956.1391958"},{"key":"e_1_3_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1145\/38765.38828"},{"key":"e_1_3_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2011.37"},{"key":"e_1_3_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00265077"},{"key":"e_1_3_2_1_72_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2009.07.004"},{"key":"e_1_3_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661088.2661101"},{"key":"e_1_3_2_1_74_1","volume-title":"java-genericity mailing list","author":"Wadler P.","year":"1998","unstructured":"P. Wadler. The expression problem. java-genericity mailing list, 1998. 1, 4"},{"key":"e_1_3_2_1_75_1","volume-title":"Software - Concepts and Tools, 15(4):147\u2013161","author":"Ward M. P.","year":"1994","unstructured":"M. P. Ward. Language-oriented programming. Software - Concepts and Tools, 15(4):147\u2013161, 1994. 1"}],"event":{"name":"GPCE '16: Generative Programming: Concepts and Experiences","location":"Amsterdam Netherlands","acronym":"GPCE '16","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 2016 ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2993236.2993245","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2993236.2993245","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2993236.2993245","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:31:34Z","timestamp":1763458294000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2993236.2993245"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,10,20]]},"references-count":75,"alternative-id":["10.1145\/2993236.2993245","10.1145\/2993236"],"URL":"https:\/\/doi.org\/10.1145\/2993236.2993245","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3093335.2993245","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2016,10,20]]},"assertion":[{"value":"2016-10-20","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}