{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,12]],"date-time":"2026-04-12T17:05:44Z","timestamp":1776013544714,"version":"3.50.1"},"reference-count":11,"publisher":"Elsevier BV","issue":"1","license":[{"start":{"date-parts":[[2001,11,1]],"date-time":"2001-11-01T00:00:00Z","timestamp":1004572800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/tdm\/userlicense\/1.0\/"},{"start":{"date-parts":[[2001,11,1]],"date-time":"2001-11-01T00:00:00Z","timestamp":1004572800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.elsevier.com\/legal\/tdmrep-license"},{"start":{"date-parts":[[2013,7,29]],"date-time":"2013-07-29T00:00:00Z","timestamp":1375056000000},"content-version":"vor","delay-in-days":4288,"URL":"http:\/\/creativecommons.org\/licenses\/by-nc-nd\/3.0\/"}],"content-domain":{"domain":["elsevier.com","sciencedirect.com"],"crossmark-restriction":true},"short-container-title":["Electronic Notes in Theoretical Computer Science"],"published-print":{"date-parts":[[2001,11]]},"DOI":"10.1016\/s1571-0661(05)80452-9","type":"journal-article","created":{"date-parts":[[2005,4,27]],"date-time":"2005-04-27T07:41:43Z","timestamp":1114587703000},"page":"36-52","update-policy":"https:\/\/doi.org\/10.1016\/elsevier_cm_policy","source":"Crossref","is-referenced-by-count":33,"title":["No-Longer-Foreign: Teaching an ML compiler to speak C \u201cnatively\u201d"],"prefix":"10.1016","volume":"59","author":[{"given":"Matthias","family":"Blume","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"78","reference":[{"key":"10.1016\/S1571-0661(05)80452-9_BIB1","series-title":"Martin Wirsing, editor, 3rd International Symp. on Prog. Lang. Implementation and Logic Programming","first-page":"1","article-title":"Standard ML of New Jersey","author":"Appel","year":"1991"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB2","article-title":"CM: The SML\/NJ compilation and library manager","author":"Blume","year":"2001","journal-title":"Manual accompanying SML\/NJ software"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB3","series-title":"Proc. 1997 ACM SIGPLAN International Conference on Functional Programming (ICFP'97)","first-page":"112","article-title":"Lambda-splitting: A higher-order approach to cross-module optimizations","author":"Blume","year":"1997"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB4","series-title":"Proc. 1998 ACM SIGPLAN International Conference on Functional Programming (ICFP'98)","first-page":"153","article-title":"H\/Direct: A binary foreign language interface for Haskell","author":"Finne","year":"1998"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB5","article-title":"Data-level interoperability","author":"Fisher","year":"2000","journal-title":"Bell Labs Technical Memorandum"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB6","series-title":"BABEL'01","article-title":"A framework for interoperability","author":"Fisher","year":"2001"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB7","article-title":"MLRISC: Customizable and reusable code generators","author":"George","year":"1997","journal-title":"Technical report, Bell Laboratories"},{"issue":"2","key":"10.1016\/S1571-0661(05)80452-9_BIB8","doi-asserted-by":"crossref","first-page":"109","DOI":"10.1145\/227699.227700","article-title":"Type classes in Haskell","volume":"18","author":"Hall","year":"1996","journal-title":"ACM Transactions on Programming Languages and Systems"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB9","article-title":"A portable C interface for Standard ML of New Jersey","author":"Huelsbergen","year":"1996","journal-title":"Technical report, AT&T Bell Laboratories"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB10","article-title":"CamlIDL user's manual","author":"Leroy","year":"1999","journal-title":"available from http:\/\/caml.inria.fr\/camlidl\/"},{"key":"10.1016\/S1571-0661(05)80452-9_BIB11","article-title":"Cross-function inlining in FLINT. Technical Report YALEU\/DCS\/RR-1189, Dept","author":"Monnier","year":"1999","journal-title":"of Computer Science, Yale University"}],"container-title":["Electronic Notes in Theoretical Computer Science"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066105804529?httpAccept=text\/xml","content-type":"text\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/api.elsevier.com\/content\/article\/PII:S1571066105804529?httpAccept=text\/plain","content-type":"text\/plain","content-version":"vor","intended-application":"text-mining"}],"deposited":{"date-parts":[[2025,10,28]],"date-time":"2025-10-28T00:07:10Z","timestamp":1761610030000},"score":1,"resource":{"primary":{"URL":"https:\/\/linkinghub.elsevier.com\/retrieve\/pii\/S1571066105804529"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2001,11]]},"references-count":11,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2001,11]]}},"alternative-id":["S1571066105804529"],"URL":"https:\/\/doi.org\/10.1016\/s1571-0661(05)80452-9","relation":{},"ISSN":["1571-0661"],"issn-type":[{"value":"1571-0661","type":"print"}],"subject":[],"published":{"date-parts":[[2001,11]]},"assertion":[{"value":"Elsevier","name":"publisher","label":"This article is maintained by"},{"value":"No-Longer-Foreign: Teaching an ML compiler to speak C \u201cnatively\u201d","name":"articletitle","label":"Article Title"},{"value":"Electronic Notes in Theoretical Computer Science","name":"journaltitle","label":"Journal Title"},{"value":"https:\/\/doi.org\/10.1016\/S1571-0661(05)80452-9","name":"articlelink","label":"CrossRef DOI link to publisher maintained version"},{"value":"converted-article","name":"content_type","label":"Content Type"},{"value":"Copyright \u00a9 2001 Elsevier B.V.","name":"copyright","label":"Copyright"}]}}