{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,30]],"date-time":"2026-06-30T13:44:45Z","timestamp":1782827085408,"version":"3.54.5"},"publisher-location":"New York, NY, USA","reference-count":56,"publisher":"ACM","license":[{"start":{"date-parts":[[2026,7,1]],"date-time":"2026-07-01T00:00:00Z","timestamp":1782864000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"funder":[{"name":"EPSRC","award":["EP\/Z533221\/1"],"award-info":[{"award-number":["EP\/Z533221\/1"]}]},{"name":"EU Horizon","award":["101094323"],"award-info":[{"award-number":["101094323"]}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2026,7,2]]},"DOI":"10.1145\/3806383.3815514","type":"proceedings-article","created":{"date-parts":[[2026,6,30]],"date-time":"2026-06-30T12:49:41Z","timestamp":1782823781000},"page":"22-33","update-policy":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":0,"title":["A nanopass approach to a modular RDF implementation"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0009-0002-0105-0408","authenticated-orcid":false,"given":"Duncan","family":"Guthrie","sequence":"first","affiliation":[{"name":"School of Computing Science, University of Glasgow, Glasgow, United Kingdom"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0000-0003-1243-938X","authenticated-orcid":false,"given":"Paul","family":"Harvey","sequence":"additional","affiliation":[{"name":"School of Computing Science, University of Glasgow, Glasgow, United Kingdom"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/2.zoppoz.workers.dev:443\/https\/orcid.org\/0000-0001-6773-9481","authenticated-orcid":false,"given":"Michele","family":"Sevegnani","sequence":"additional","affiliation":[{"name":"School of Computing Science, University of Glasgow, Glasgow, United Kingdom"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2026,7]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"GNU's programming and extension language . URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.gnu.org\/software\/guile\/."},{"key":"e_1_3_2_2_2_1","unstructured":"R6RS support (Guile reference manual) URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.gnu.org\/software\/guile\/manual\/html_node\/R6RS-Support.html."},{"key":"e_1_3_2_2_3_1","unstructured":"P4 Open Source Programming Language. URL https:\/\/2.zoppoz.workers.dev:443\/https\/p4.org\/."},{"key":"e_1_3_2_2_4_1","unstructured":"Racket R6RS: Scheme. URL https:\/\/2.zoppoz.workers.dev:443\/https\/docs.racket-lang.org\/r6rs\/index.html."},{"key":"e_1_3_2_2_5_1","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2020.2993117"},{"issue":"238","key":"e_1_3_2_2_6_1","doi-asserted-by":"crossref","first-page":"64","DOI":"10.1145\/3674627","article-title":"Compiled, extensible, multi-language DSLs (Functional Pearl)","volume":"8","author":"Ballantyne M.","year":"2024","unstructured":"M. Ballantyne, M. Gamburg, and J. Hemann. Compiled, extensible, multi-language DSLs (Functional Pearl). Proceedings of the ACM on Programming Languages: ICFP, 8(238):64\u201387, August 2024.","journal-title":"Proceedings of the ACM on Programming Languages: ICFP"},{"key":"e_1_3_2_2_7_1","volume-title":"Redland RDF libraries","author":"Beckett D.","year":"2000","unstructured":"D. Beckett. Redland RDF libraries, 2000. URL https:\/\/2.zoppoz.workers.dev:443\/https\/librdf.org\/."},{"key":"e_1_3_2_2_8_1","volume-title":"W3C","author":"Beckett D.","year":"2014","unstructured":"D. Beckett. RDF 1.1 N-Triples: A line-based syntax for an RDF graph. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf11-n-triples."},{"key":"e_1_3_2_2_9_1","volume-title":"W3C","author":"Beckett D.","year":"2014","unstructured":"D. Beckett, T. Berners-Lee, E. Prud'hommeaux, and G. Carothers. RDF 1.1 Turtle: Terse RDF triple language. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf11-turtle."},{"key":"e_1_3_2_2_10_1","first-page":"w3","article-title":"PROV-O: The PROV Ontology. Technical report","author":"Belhajjame K.","year":"2013","unstructured":"K. Belhajjame, J. Cheney, D. Corsar, D. Garijo, S. Soiland-Reyes, S. Zednik, and J. Zhao. PROV-O: The PROV Ontology. Technical report, W3C, April 2013. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/prov-o.","journal-title":"W3C"},{"key":"e_1_3_2_2_11_1","volume-title":"DISIT Lab","author":"Bellini P.","year":"2024","unstructured":"P. Bellini, M. Fanfani, P. Nesi, and M. Soderi. km4city, the DISIT Knowledge Model for City and Mobility. Technical report, DISIT Lab, July 2024. URL https:\/\/2.zoppoz.workers.dev:443\/http\/www.disit.org\/km4city\/schema."},{"key":"e_1_3_2_2_12_1","volume-title":"January","author":"Berners-Lee T.","year":"2005","unstructured":"T. Berners-Lee, R. Fielding, and L. Masinter. Uniform Resource Identifier (URI): Generic syntax, January 2005. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.rfceditor.org\/rfc\/rfc3986."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596638.1596652"},{"key":"e_1_3_2_2_14_1","volume-title":"Schemantic Web version 0.0 (beta)","author":"Campbell T. R.","year":"2007","unstructured":"T. R. Campbell. Schemantic Web version 0.0 (beta), 2007. URL https:\/\/2.zoppoz.workers.dev:443\/https\/mumble.net\/~campbell\/darcs\/schemantic-web\/."},{"key":"e_1_3_2_2_15_1","volume-title":"W3C","author":"Carothers G.","year":"2014","unstructured":"G. Carothers. RDF 1.1 N-Quads: A line-based syntax for RDF datasets. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/nquads."},{"key":"e_1_3_2_2_16_1","volume-title":"OWL 2 Web Ontology Language RDF-based semantics","author":"Carroll J.","year":"2012","unstructured":"J. Carroll, I. Herman, and P. F. Patel-Schneider. OWL 2 Web Ontology Language RDF-based semantics (second edition). Technical report, W3C, December 2012. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/2012\/REC-owl2-rdf-based-semantics-20121211\/."},{"key":"e_1_3_2_2_17_1","unstructured":"A. Chauhan A. Keep C.-Y. Shei and P. Ratnalikar. RubyWrite: A Rubyembedded domain-specific language for high-level transformations. Technical Report TR704 Indiana University Computer Science January 2013."},{"key":"e_1_3_2_2_18_1","volume-title":"Cisco Systems","author":"User's Guide 0","year":"2024","unstructured":"Chez Scheme Version 10.0.0 User's Guide. Cisco Systems, Inc., February 2024."},{"key":"e_1_3_2_2_19_1","volume-title":"May","author":"Cowan J.","year":"2023","unstructured":"J. Cowan. SRFI 153: Ordered Sets, May 2023. URL https:\/\/2.zoppoz.workers.dev:443\/https\/srfi.schemers.org\/srfi-153\/srfi-153.html."},{"key":"e_1_3_2_2_20_1","volume-title":"W3C","author":"Cyganiak R.","year":"2014","unstructured":"R. Cyganiak, D. Wood, and M. Lanthaler. RDF 1.1 concepts and abstract syntax. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf11-concepts\/."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.17487\/rfc3987"},{"issue":"162","key":"e_1_3_2_2_22_1","doi-asserted-by":"crossref","first-page":"372","DOI":"10.1145\/3729261","article-title":"Certified compilers \u00e0 la carte","volume":"9","author":"Ebersafe O.","year":"2025","unstructured":"O. Ebersafe, I. Zhao, E. Jin, A. Bright, C. Jian, and Y. Zhang. Certified compilers \u00e0 la carte. Proceedings of the ACM on Programming Languages: PLDI, 9(162):372\u2013395, June 2025.","journal-title":"Proceedings of the ACM on Programming Languages: PLDI"},{"key":"e_1_3_2_2_23_1","unstructured":"M. Flatt and R. B. Findler. The Racket Guide. URL https:\/\/2.zoppoz.workers.dev:443\/https\/docs.racket-lang.org\/guide\/index.html."},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/3267158"},{"key":"e_1_3_2_2_25_1","volume-title":"W3C","author":"Gandon F.","year":"2014","unstructured":"F. Gandon and G. Schreiber. RDF 1.1 XML syntax. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf11-xml."},{"key":"e_1_3_2_2_26_1","volume-title":"W3C","author":"Grau B. C.","year":"2012","unstructured":"B. C. Grau, I. Horrocks, B. Parsia, A. Ruttenberg, and M. Schneider. OWL 2 Web Ontology Language mapping to RDF graphs. Technical report, W3C, December 2012. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/2012\/REC-owl2-mapping-to-rdf-20121211\/."},{"key":"e_1_3_2_2_27_1","volume-title":"September","author":"Gray N.","year":"2010","unstructured":"N. Gray. The RDF library, wrapping the Redland RDF library, September 2010. URL https:\/\/2.zoppoz.workers.dev:443\/https\/nxg.me.uk\/dist\/racket-librdf\/."},{"key":"e_1_3_2_2_28_1","volume-title":"February","author":"Guthrie D.","year":"2026","unstructured":"D. Guthrie. URI and IRI utilities for R6RS Scheme (RFC 3986 and RFC 3987), February 2026. URL https:\/\/2.zoppoz.workers.dev:443\/https\/codeberg.org\/dguthrie\/scheme-iri."},{"key":"e_1_3_2_2_29_1","unstructured":"D. Guthrie. Modular RDF implementation for R6RS Scheme February 2026. URL https:\/\/2.zoppoz.workers.dev:443\/https\/codeberg.org\/dguthrie\/scheme-rdf."},{"key":"e_1_3_2_2_30_1","volume-title":"OWL 2 Web Ontology Language conformance","author":"Hawke S.","year":"2012","unstructured":"S. Hawke, M. Horridge, B. Parsia, and M. Schneider. OWL 2 Web Ontology Language conformance (second edition). Technical report, W3C, December 2012. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/2012\/REC-owl2-conformance-20121211."},{"key":"e_1_3_2_2_31_1","volume-title":"W3C","author":"Hayes P. J.","year":"2014","unstructured":"P. J. Hayes and P. F. Patel-Schneider. RDF 1.1 semantics. Technical report, W3C, February 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf11-mt."},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"publisher","DOI":"10.3233\/SW-190387"},{"key":"e_1_3_2_2_33_1","doi-asserted-by":"crossref","first-page":"190","DOI":"10.1007\/978-3-642-18378-2_16","volume-title":"Practical Aspects of Declarative Languages (PADL 2011","author":"Holk E.","year":"2011","unstructured":"E. Holk, W. E. Byrd, J. Willcock, T. Hoefler, A. Chauhan, and A. Lumsdaine. Kanor: A declarative language for explicit communication. Practical Aspects of Declarative Languages (PADL 2011), pages 190-204, 2011."},{"key":"e_1_3_2_2_34_1","doi-asserted-by":"crossref","first-page":"62","DOI":"10.1145\/2627373.2627384","volume-title":"ARRAY'14: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming","author":"Hsu A. W.","year":"2014","unstructured":"A. W. Hsu. Co-dfns: Ancient language, modern compiler. ARRAY'14: Proceedings of ACM SIGPLAN International Workshop on Libraries, Languages, and Compilers for Array Programming, pages 62-67, June 2014."},{"key":"e_1_3_2_2_35_1","volume-title":"A data parallel compiler hosted on the GPU","author":"Hsu A. W.","year":"2019","unstructured":"A. W. Hsu. A data parallel compiler hosted on the GPU. Indiana University, 2019."},{"key":"e_1_3_2_2_36_1","volume-title":"March","author":"Johnston S.","year":"2024","unstructured":"S. Johnston. Racket Package rdf-core, March 2024. URL https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/johnstonskj\/racket-rdf-core."},{"key":"e_1_3_2_2_37_1","volume-title":"May","author":"Johnston S.","year":"2024","unstructured":"S. Johnston. Racket Package rdf-io, May 2024. URL https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/johnstonskj\/racket-rdf-io."},{"key":"e_1_3_2_2_38_1","volume-title":"Nanopass framework users guide","author":"Keep A. W.","year":"2013","unstructured":"A. W. Keep. Nanopass framework users guide. 2013."},{"key":"e_1_3_2_2_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/2544174.2500618"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/571727.571736"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/3687997.3695645"},{"key":"e_1_3_2_2_42_1","volume-title":"December","author":"Lemmer-Webber C.","year":"2017","unstructured":"C. Lemmer-Webber. Linked data tooling for the Racket programming language, December 2017. URL https:\/\/2.zoppoz.workers.dev:443\/https\/github.com\/cwebber\/racket-linkeddata\/."},{"key":"e_1_3_2_2_43_1","volume-title":"April","author":"Lepiller J.","year":"2020","unstructured":"J. Lepiller. Implementation of RDF formats and algorithms in GNU Guile, April 2020. URL https:\/\/2.zoppoz.workers.dev:443\/https\/framagit.org\/tyreunom\/guile-rdf."},{"key":"e_1_3_2_2_44_1","unstructured":"M. Nieper-Wi\u00dfkirchen. Extending a language \u2014 writing powerful macros in Scheme. URL https:\/\/2.zoppoz.workers.dev:443\/https\/mnieper.github.io\/scheme-macros\/README.html."},{"key":"e_1_3_2_2_45_1","first-page":"70","volume-title":"SLE 2023: Preceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering","author":"Ringo N.","year":"2023","unstructured":"N. Ringo, L. Kramer, and E. R. V. Wyk. Nanopass attribute grammars. SLE 2023: Preceedings of the 16th ACM SIGPLAN International Conference on Software Language Engineering, pages 70-83, October 2023."},{"key":"e_1_3_2_2_46_1","volume-title":"Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation","author":"Ruffy F.","year":"2020","unstructured":"F. Ruffy, T. Wang, and A. Sivaraman. Gauntlet: Finding bugs in compilers for programmable packet processing. In Proceedings of the 14th USENIX Symposium on Operating Systems Design and Implementation, November 2020."},{"key":"e_1_3_2_2_47_1","volume-title":"Generics in small doses: Nanopass compilation with Haskell","author":"Sampson A. T.","year":"2008","unstructured":"A. T. Sampson and N. C. Brown. Generics in small doses: Nanopass compilation with Haskell. 2008."},{"key":"e_1_3_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/1016850.1016878"},{"key":"e_1_3_2_2_49_1","volume-title":"W3C","author":"Schreiber G.","year":"2014","unstructured":"G. Schreiber and Y. Raimond. RDF 1.1 primer. Technical report, W3C, June 2014. URL https:\/\/2.zoppoz.workers.dev:443\/https\/www.w3.org\/TR\/rdf-primer\/."},{"key":"e_1_3_2_2_50_1","volume-title":"Revised7 Report on the Algorithmic Language Scheme","author":"Shinn A.","year":"2013","unstructured":"A. Shinn, J. Cowan, and A. A. Gleckler. Revised7 Report on the Algorithmic Language Scheme. 2013."},{"key":"e_1_3_2_2_51_1","volume-title":"Revised6 Report on the Algorithmic Language Scheme","author":"Sperber M.","year":"2009","unstructured":"M. Sperber, R. K. Dybvig, M. Flatt, and A. van Straaten. Revised6 Report on the Algorithmic Language Scheme. Cambridge University Press, 2009."},{"key":"e_1_3_2_2_52_1","volume-title":"W3C","author":"Sporny M.","year":"2020","unstructured":"M. Sporny, D. Longley, G. Kellogg, M. Lanthaler, P.-A. Champin, and N. Lindstr\u00f6m. JSON-LD 1.1: A JSON-based serialization for linked data. Technical report, W3C, July 2020."},{"key":"e_1_3_2_2_53_1","volume-title":"International Conference on Database Theory, 18th International Conference on Database Theory (ICDT 2015)","author":"Staworko S.","year":"2015","unstructured":"S. Staworko, I. Boneva, J. E. L. Gayo, S. Hym, E. G. Prud'hommeaux, and H. Solbrig. Complexity and expressiveness of ShEx for RDF. International Conference on Database Theory, 18th International Conference on Database Theory (ICDT 2015), March 2015."},{"key":"e_1_3_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.5555\/889230"},{"key":"e_1_3_2_2_55_1","unstructured":"D. Thompson. Functional hash tables explained May 2025. URL https:\/\/2.zoppoz.workers.dev:443\/https\/spritely.institute\/news\/functional-hash-tables-explained.html."},{"key":"e_1_3_2_2_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-03437-9_29"}],"event":{"name":"SLE '26: 19th ACM SIGPLAN International Conference on Software Language Engineering","location":"IRISA \/ Inria Rennes France","acronym":"SLE '26","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 19th ACM SIGPLAN International Conference on Software Language Engineering"],"original-title":[],"deposited":{"date-parts":[[2026,6,30]],"date-time":"2026-06-30T12:52:07Z","timestamp":1782823927000},"score":1,"resource":{"primary":{"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/dl.acm.org\/doi\/10.1145\/3806383.3815514"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2026,7]]},"references-count":56,"alternative-id":["10.1145\/3806383.3815514","10.1145\/3806383"],"URL":"https:\/\/2.zoppoz.workers.dev:443\/https\/doi.org\/10.1145\/3806383.3815514","relation":{},"subject":[],"published":{"date-parts":[[2026,7]]},"assertion":[{"value":"2026-07-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}