{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:01Z","timestamp":1772164021911,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":26,"publisher":"ACM","license":[{"start":{"date-parts":[[2009,8,31]],"date-time":"2009-08-31T00:00:00Z","timestamp":1251676800000},"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,8,31]]},"DOI":"10.1145\/1596550.1596586","type":"proceedings-article","created":{"date-parts":[[2009,9,1]],"date-time":"2009-09-01T13:53:09Z","timestamp":1251813189000},"page":"245-256","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":23,"title":["Attribute grammars fly first-class"],"prefix":"10.1145","author":[{"given":"Marcos","family":"Viera","sequence":"first","affiliation":[{"name":"Universidad de Republica, Montevideo, Uruguay"}]},{"given":"S. Doaitse","family":"Swierstra","sequence":"additional","affiliation":[{"name":"Utrecht University, Utrecht, Netherlands"}]},{"given":"Wouter","family":"Swierstra","sequence":"additional","affiliation":[{"name":"Chalmers University of Technology, G\u00f6teborg, Sweden"}]}],"member":"320","published-online":{"date-parts":[[2009,8,31]]},"reference":[{"key":"e_1_3_2_2_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00264249"},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1082036.1082042"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086397"},{"key":"e_1_3_2_2_4_1","volume-title":"First-class attribute grammars. Informatica (Slovenia), 24(3)","author":"de Moor Oege","year":"2000","unstructured":"Oege de Moor , Kevin Backhouse , and S. Doaitse Swierstra . First-class attribute grammars. Informatica (Slovenia), 24(3) , 2000 a. Oege de Moor, Kevin Backhouse, and S. Doaitse Swierstra. First-class attribute grammars. Informatica (Slovenia), 24(3), 2000a."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.5555\/645416.652051"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1007\/11546382_1"},{"key":"e_1_3_2_2_7_1","volume-title":"Implementation of Functional Languages","author":"Dijkstra Atze","year":"2007","unstructured":"Atze Dijkstra , Jeroen Fokker , and S. Doaitse Swierstra . The structure of the essential haskell compiler, or coping with compiler complexity . In Implementation of Functional Languages , 2007 . Atze Dijkstra, Jeroen Fokker, and S. Doaitse Swierstra. The structure of the essential haskell compiler, or coping with compiler complexity. In Implementation of Functional Languages, 2007."},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596650"},{"key":"e_1_3_2_2_9_1","volume-title":"Language Descriptions","author":"Fokker Jeroen","year":"2008","unstructured":"Jeroen Fokker and S. Doaitse Swierstra . Abstract interpretation of functional programs using an attribute grammar system . In Adrian Johnstone and Jurgen Vinju, editors, Language Descriptions , Tools and Applications , 2008 . Jeroen Fokker and S. Doaitse Swierstra. Abstract interpretation of functional programs using an attribute grammar system. In Adrian Johnstone and Jurgen Vinju, editors, Language Descriptions, Tools and Applications, 2008."},{"key":"e_1_3_2_2_10_1","volume-title":"Nottingham","author":"Benedict","year":"1996","unstructured":"Benedict R. Gaster and Mark P. Jones. A polymorphic type system for extensible records and variants. NOTTCS-TR 96-3 , Nottingham , 1996 . Benedict R. Gaster and Mark P. Jones. A polymorphic type system for extensible records and variants. NOTTCS-TR 96-3, Nottingham, 1996."},{"key":"e_1_3_2_2_11_1","volume-title":"Proc. of the Joint CS\/CE Winter Meeting","author":"Hallgren Thomas","year":"2001","unstructured":"Thomas Hallgren . Fun with functional dependencies or (draft) types as values in static computations in haskell . In Proc. of the Joint CS\/CE Winter Meeting , 2001 . Thomas Hallgren. Fun with functional dependencies or (draft) types as values in static computations in haskell. In Proc. of the Joint CS\/CE Winter Meeting, 2001."},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-349-91518-7_12"},{"key":"e_1_3_2_2_13_1","volume-title":"Jones. Typing Haskell in Haskell. In Haskell Workshop, 1999","author":"Mark","year":"1999","unstructured":"Mark P. Jones. Typing Haskell in Haskell. In Haskell Workshop, 1999 . URL http:\/\/www.cse.ogi.edu\/ mpj\/thih\/thih-sep1- 1999 \/. Mark P. Jones. Typing Haskell in Haskell. In Haskell Workshop, 1999. URL http:\/\/www.cse.ogi.edu\/ mpj\/thih\/thih-sep1-1999\/."},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.5555\/645394.651909"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00288644"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/1017472.1017488"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004355"},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.5555\/1813347.1813352"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411204.1411213"},{"key":"e_1_3_2_2_20_1","volume-title":"Haskell Workshop","author":"Jones Simon Peyton","year":"1997","unstructured":"Simon Peyton Jones , Mark Jones , and Erik Meijer . Type classes: an exploration of the design space . In Haskell Workshop , June 1997 . Simon Peyton Jones, Mark Jones, and Erik Meijer. Type classes: an exploration of the design space. In Haskell Workshop, June 1997."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/512644.512645"},{"key":"e_1_3_2_2_22_1","volume-title":"New Directions in Algorithmic Languages. INRIA","author":"Reynolds J.C.","year":"1975","unstructured":"J.C. Reynolds . User defined types and procedural data as complementary approaches to data abstraction. In S.A. Schuman, editor , New Directions in Algorithmic Languages. INRIA , 1975 . J.C. Reynolds. User defined types and procedural data as complementary approaches to data abstraction. In S.A. Schuman, editor, New Directions in Algorithmic Languages. INRIA, 1975."},{"key":"e_1_3_2_2_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159842.1159846"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808006990"},{"key":"e_1_3_2_2_25_1","series-title":"LNCS","doi-asserted-by":"crossref","first-page":"150","DOI":"10.1007\/10704973_4","volume-title":"Advanced Functional Programming, Third International School, AFP'98","author":"Swierstra S. Doaitse","year":"1999","unstructured":"S. Doaitse Swierstra , Pablo R. Azero Alcocer , and Joao A. Saraiva . Designing and implementing combinator languages . In S. D. Swierstra, Pedro Henriques, and Jose Oliveira, editors, Advanced Functional Programming, Third International School, AFP'98 , volume 1608 of LNCS , pages 150 -- 206 . Springer-Verlag , 1999 . S. Doaitse Swierstra, Pablo R. Azero Alcocer, and Joao A. Saraiva. Designing and implementing combinator languages. In S. D. Swierstra, Pedro Henriques, and Jose Oliveira, editors, Advanced Functional Programming, Third International School, AFP'98, volume 1608 of LNCS, pages 150--206. Springer-Verlag, 1999."},{"key":"e_1_3_2_2_27_1","volume-title":"The Expression Problem. E-mail available online","author":"Wadler Phil","year":"1998","unstructured":"Phil Wadler . The Expression Problem. E-mail available online ., 1998 . Phil Wadler. The Expression Problem. E-mail available online., 1998."}],"event":{"name":"ICFP '09: ACM SIGPLAN International Conference on Functional Programming","location":"Edinburgh Scotland","acronym":"ICFP '09","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"]},"container-title":["Proceedings of the 14th ACM SIGPLAN international conference on Functional programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596550.1596586","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1596550.1596586","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T08:23:28Z","timestamp":1750235008000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1596550.1596586"}},"subtitle":["how to do aspect oriented programming in Haskell"],"short-title":[],"issued":{"date-parts":[[2009,8,31]]},"references-count":26,"alternative-id":["10.1145\/1596550.1596586","10.1145\/1596550"],"URL":"https:\/\/doi.org\/10.1145\/1596550.1596586","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1631687.1596586","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2009,8,31]]},"assertion":[{"value":"2009-08-31","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}