{"id":"https://openalex.org/W2116918412","doi":"https://doi.org/10.1145/1034774.1034778","title":"A tail-recursive machine with stack inspection","display_name":"A tail-recursive machine with stack inspection","publication_year":2004,"publication_date":"2004-11-01","ids":{"openalex":"https://openalex.org/W2116918412","doi":"https://doi.org/10.1145/1034774.1034778","mag":"2116918412"},"language":"en","primary_location":{"id":"doi:10.1145/1034774.1034778","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034778","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034778","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034778","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5069799821","display_name":"John Clements","orcid":null},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"John Clements","raw_affiliation_strings":["Northeastern University, Boston, MA","Northeastern University, Boston (MA)#TAB#"],"affiliations":[{"raw_affiliation_string":"Northeastern University, Boston, MA","institution_ids":["https://openalex.org/I12912129"]},{"raw_affiliation_string":"Northeastern University, Boston (MA)#TAB#","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5000905628","display_name":"Matthias Felleisen","orcid":"https://orcid.org/0000-0001-6678-1004"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Matthias Felleisen","raw_affiliation_strings":["Northeastern University, Boston, MA","Northeastern University, Boston (MA)#TAB#"],"affiliations":[{"raw_affiliation_string":"Northeastern University, Boston, MA","institution_ids":["https://openalex.org/I12912129"]},{"raw_affiliation_string":"Northeastern University, Boston (MA)#TAB#","institution_ids":["https://openalex.org/I12912129"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5069799821"],"corresponding_institution_ids":["https://openalex.org/I12912129"],"apc_list":null,"apc_paid":null,"fwci":3.7002,"has_fulltext":true,"cited_by_count":47,"citation_normalized_percentile":{"value":0.93300148,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"26","issue":"6","first_page":"1029","last_page":"1052"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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"}},"topics":[{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9998999834060669,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9991000294685364,"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/T10772","display_name":"Distributed systems and fault tolerance","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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/call-stack","display_name":"Call stack","score":0.9156010150909424},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8887351751327515},{"id":"https://openalex.org/keywords/stack","display_name":"Stack (abstract data type)","score":0.8077189326286316},{"id":"https://openalex.org/keywords/construct","display_name":"Construct (python library)","score":0.7111146450042725},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.5149622559547424},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.4787032902240753},{"id":"https://openalex.org/keywords/simple","display_name":"Simple (philosophy)","score":0.4745881259441376},{"id":"https://openalex.org/keywords/machine-code","display_name":"Machine code","score":0.4352279305458069},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.41652917861938477},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.3468083143234253}],"concepts":[{"id":"https://openalex.org/C119024030","wikidata":"https://www.wikidata.org/wiki/Q759899","display_name":"Call stack","level":3,"score":0.9156010150909424},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8887351751327515},{"id":"https://openalex.org/C9395851","wikidata":"https://www.wikidata.org/wiki/Q177929","display_name":"Stack (abstract data type)","level":2,"score":0.8077189326286316},{"id":"https://openalex.org/C2780801425","wikidata":"https://www.wikidata.org/wiki/Q5164392","display_name":"Construct (python library)","level":2,"score":0.7111146450042725},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.5149622559547424},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.4787032902240753},{"id":"https://openalex.org/C2780586882","wikidata":"https://www.wikidata.org/wiki/Q7520643","display_name":"Simple (philosophy)","level":2,"score":0.4745881259441376},{"id":"https://openalex.org/C115168132","wikidata":"https://www.wikidata.org/wiki/Q55813","display_name":"Machine code","level":3,"score":0.4352279305458069},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.41652917861938477},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.3468083143234253},{"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/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/1034774.1034778","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034778","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034778","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},{"id":"pmh:oai:digitalcommons.calpoly.edu:csse_fac-1049","is_oa":false,"landing_page_url":"https://digitalcommons.calpoly.edu/csse_fac/48","pdf_url":null,"source":{"id":"https://openalex.org/S4377196328","display_name":"DigitalCommons - CalPoly (California State Polytechnic University)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98947143","host_organization_name":"California State Polytechnic University","host_organization_lineage":["https://openalex.org/I98947143"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science and Software Engineering","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.69.3133","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.3133","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.ccs.neu.edu/scheme/pubs/cf-toplas04.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/1034774.1034778","is_oa":true,"landing_page_url":"https://doi.org/10.1145/1034774.1034778","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/1034774.1034778","source":{"id":"https://openalex.org/S41449414","display_name":"ACM Transactions on Programming Languages and Systems","issn_l":"0164-0925","issn":["0164-0925","1558-4593"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"ACM Transactions on Programming Languages and Systems","raw_type":"journal-article"},"sustainable_development_goals":[{"score":0.5799999833106995,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2116918412.pdf","grobid_xml":"https://content.openalex.org/works/W2116918412.grobid-xml"},"referenced_works_count":27,"referenced_works":["https://openalex.org/W1504054062","https://openalex.org/W1533781805","https://openalex.org/W1779102629","https://openalex.org/W1783388813","https://openalex.org/W1997429190","https://openalex.org/W2002301065","https://openalex.org/W2002829132","https://openalex.org/W2016696108","https://openalex.org/W2022949157","https://openalex.org/W2038315427","https://openalex.org/W2049962807","https://openalex.org/W2087359745","https://openalex.org/W2088735483","https://openalex.org/W2098807584","https://openalex.org/W2104152314","https://openalex.org/W2141194372","https://openalex.org/W2141988808","https://openalex.org/W2181449792","https://openalex.org/W2911481279","https://openalex.org/W2912819106","https://openalex.org/W3003829247","https://openalex.org/W3145454088","https://openalex.org/W4214931895","https://openalex.org/W4247445868","https://openalex.org/W4387302738","https://openalex.org/W6672434346","https://openalex.org/W6675093523"],"related_works":["https://openalex.org/W2087972928","https://openalex.org/W3015514077","https://openalex.org/W2779721357","https://openalex.org/W1527172253","https://openalex.org/W1968278738","https://openalex.org/W3125263037","https://openalex.org/W2377497513","https://openalex.org/W1536721933","https://openalex.org/W2374908835","https://openalex.org/W394712460"],"abstract_inverted_index":{"Security":[0],"folklore":[1],"holds":[2],"that":[3,20,38,83,99],"a":[4,14,25,31,36,70,108,115],"security":[5,73,109],"mechanism":[6],"based":[7],"on":[8],"stack":[9,74],"inspection":[10,75],"is":[11,80,94],"incompatible":[12],"with":[13,72],"global":[15],"tail":[16,33,41,87,100],"call":[17,88],"optimization":[18],"policy;":[19],"an":[21,66],"implementation":[22],"of":[23,84],"such":[24],"language":[26,71],"must":[27],"allocate":[28],"memory":[29],"for":[30,69],"source-code":[32],"call,":[34],"and":[35,97],"program":[37],"uses":[39],"only":[40],"calls":[42,101],"(and":[43],"no":[44],"other":[45],"memory-allocating":[46],"construct)":[47],"may":[48],"nevertheless":[49],"exhaust":[50],"the":[51,85],"available":[52],"memory.":[53],"In":[54],"this":[55,59],"article,":[56],"we":[57],"prove":[58],"widely":[60],"held":[61],"belief":[62],"wrong.":[63],"We":[64],"exhibit":[65],"abstract":[67,90],"machine":[68,93],"whose":[76],"space":[77],"consumption":[78],"function":[79],"equivalent":[81],"to":[82,105],"canonical":[86],"optimizing":[89],"machine.":[91],"Our":[92],"surprisingly":[95],"simple":[96],"suggests":[98],"are":[102,113],"as":[103,111],"easy":[104],"implement":[106],"in":[107,114],"setting":[110],"they":[112],"conventional":[116],"one.":[117]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2021,"cited_by_count":2},{"year":2020,"cited_by_count":1},{"year":2019,"cited_by_count":3},{"year":2018,"cited_by_count":2},{"year":2015,"cited_by_count":2},{"year":2014,"cited_by_count":2},{"year":2013,"cited_by_count":4},{"year":2012,"cited_by_count":3}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
