{"id":"https://openalex.org/W2164852587","doi":"https://doi.org/10.1017/s0956796811000219","title":"Embedding an interpreted language using higher-order functions and types","display_name":"Embedding an interpreted language using higher-order functions and types","publication_year":2011,"publication_date":"2011-09-29","ids":{"openalex":"https://openalex.org/W2164852587","doi":"https://doi.org/10.1017/s0956796811000219","mag":"2164852587"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796811000219","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796811000219","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/922400659B6E10D7C4EE3F5DEF75A4B1/S0956796811000219a.pdf/div-class-title-embedding-an-interpreted-language-using-higher-order-functions-and-types-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/922400659B6E10D7C4EE3F5DEF75A4B1/S0956796811000219a.pdf/div-class-title-embedding-an-interpreted-language-using-higher-order-functions-and-types-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5068702687","display_name":"Norman F. Ramsey","orcid":"https://orcid.org/0000-0002-5435-1135"},"institutions":[{"id":"https://openalex.org/I121934306","display_name":"Tufts University","ror":"https://ror.org/05wvpxv85","country_code":"US","type":"education","lineage":["https://openalex.org/I121934306"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"NORMAN RAMSEY","raw_affiliation_strings":["Department of Computer Science, Tufts University, Medford, MA 02155, USA (e-mail:","Department of computer science, tufts university, medford, ma 02155, usa (e-mail: nr@cs.tufts.edu)"],"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Tufts University, Medford, MA 02155, USA (e-mail:","institution_ids":["https://openalex.org/I121934306"]},{"raw_affiliation_string":"Department of computer science, tufts university, medford, ma 02155, usa (e-mail: nr@cs.tufts.edu)","institution_ids":["https://openalex.org/I121934306"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5068702687"],"corresponding_institution_ids":["https://openalex.org/I121934306"],"apc_list":null,"apc_paid":null,"fwci":1.5289,"has_fulltext":true,"cited_by_count":8,"citation_normalized_percentile":{"value":0.8925257,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"21","issue":"6","first_page":"585","last_page":"615"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9976999759674072,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9975000023841858,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9945999979972839,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8826979398727417},{"id":"https://openalex.org/keywords/embedding","display_name":"Embedding","score":0.8795617818832397},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.83469158411026},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7320354580879211},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5633898973464966},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.5623177886009216},{"id":"https://openalex.org/keywords/order","display_name":"Order (exchange)","score":0.4191358983516693},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3279274106025696},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2386818528175354},{"id":"https://openalex.org/keywords/set","display_name":"Set (abstract data type)","score":0.058265119791030884}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8826979398727417},{"id":"https://openalex.org/C41608201","wikidata":"https://www.wikidata.org/wiki/Q980509","display_name":"Embedding","level":2,"score":0.8795617818832397},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.83469158411026},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7320354580879211},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5633898973464966},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.5623177886009216},{"id":"https://openalex.org/C182306322","wikidata":"https://www.wikidata.org/wiki/Q1779371","display_name":"Order (exchange)","level":2,"score":0.4191358983516693},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3279274106025696},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2386818528175354},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.058265119791030884},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C10138342","wikidata":"https://www.wikidata.org/wiki/Q43015","display_name":"Finance","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1017/s0956796811000219","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796811000219","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/922400659B6E10D7C4EE3F5DEF75A4B1/S0956796811000219a.pdf/div-class-title-embedding-an-interpreted-language-using-higher-order-functions-and-types-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.121.9601","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.9601","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.st.cs.uni-sb.de/edu/seminare/2005/advanced-fp/docs/ramsey-embed.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.69.1537","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.1537","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.eecs.harvard.edu/~nr/pubs/embed.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1017/s0956796811000219","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796811000219","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/922400659B6E10D7C4EE3F5DEF75A4B1/S0956796811000219a.pdf/div-class-title-embedding-an-interpreted-language-using-higher-order-functions-and-types-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4312750320","display_name":"Career: Reusable Specifications for Retargetability","funder_award_id":"0096069","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6894402473","display_name":null,"funder_award_id":"Fellowship","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G848032724","display_name":null,"funder_award_id":"Science","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2164852587.pdf","grobid_xml":"https://content.openalex.org/works/W2164852587.grobid-xml"},"referenced_works_count":36,"referenced_works":["https://openalex.org/W32154478","https://openalex.org/W1482320265","https://openalex.org/W1493349649","https://openalex.org/W1538992328","https://openalex.org/W1549262226","https://openalex.org/W1563626515","https://openalex.org/W1769683219","https://openalex.org/W1968470225","https://openalex.org/W1981404401","https://openalex.org/W1989360656","https://openalex.org/W2013844469","https://openalex.org/W2032777378","https://openalex.org/W2064723869","https://openalex.org/W2091731831","https://openalex.org/W2120839989","https://openalex.org/W2134342348","https://openalex.org/W2137606889","https://openalex.org/W2138229876","https://openalex.org/W2141576692","https://openalex.org/W2145287505","https://openalex.org/W2159591963","https://openalex.org/W2162053995","https://openalex.org/W2270323316","https://openalex.org/W2485218432","https://openalex.org/W2568653835","https://openalex.org/W2911279247","https://openalex.org/W2911731670","https://openalex.org/W2911799745","https://openalex.org/W3004785238","https://openalex.org/W3005568036","https://openalex.org/W4243414771","https://openalex.org/W4243560493","https://openalex.org/W6633693835","https://openalex.org/W6650828491","https://openalex.org/W6666969513","https://openalex.org/W6681544481"],"related_works":["https://openalex.org/W1721418433","https://openalex.org/W3209222648","https://openalex.org/W2463512549","https://openalex.org/W2246915267","https://openalex.org/W1844878253","https://openalex.org/W2004305899","https://openalex.org/W2611574984","https://openalex.org/W3089412887","https://openalex.org/W2088766201","https://openalex.org/W2932872266"],"abstract_inverted_index":{"Abstract":[0],"Using":[1],"an":[2,28,35,76],"embedded,":[3,93],"interpreted":[4],"language":[5,33],"to":[6,38,51,66,74,91,110],"control":[7],"a":[8,31,45,84,99,112],"complicated":[9],"application":[10],"can":[11],"have":[12],"significant":[13],"software-engineering":[14],"benefits.":[15],"But":[16],"existing":[17],"interpreters":[18],"are":[19],"designed":[20],"for":[21,88],"embedding":[22,80,94],"into":[23,30],"C":[24,82],"code.":[25],"To":[26],"embed":[27],"interpreter":[29],"different":[32],"requires":[34,83,97],"API":[36,47,60],"suited":[37,50],"that":[39,48,53],"language.":[40],"This":[41],"paper":[42],"presents":[43],"Lua-ML,":[44],"new":[46],"is":[49],"languages":[52],"provide":[54],"higher-order":[55,62],"functions":[56,63],"and":[57,64,121],"types.":[58],"The":[59],"exploits":[61],"types":[65,122],"reduce":[67],"the":[68,119],"amount":[69],"of":[70,101,123],"glue":[71],"code":[72],"needed":[73],"use":[75],"embedded":[77],"interpreter.":[78],"Where":[79],"in":[81,95],"special-purpose":[85],"\u201cglue":[86],"function\u201d":[87],"every":[89],"function":[90,114],"be":[92],"Lua-ML":[96,105],"only":[98],"description":[100],"each":[102],"function's":[103],"type.":[104],"also":[106],"makes":[107],"it":[108],"easy":[109],"define":[111],"Lua":[113],"whose":[115],"behavior":[116],"depends":[117],"on":[118],"number":[120],"its":[124],"arguments.":[125]},"counts_by_year":[{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":3},{"year":2014,"cited_by_count":1},{"year":2012,"cited_by_count":1}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
