{"id":"https://openalex.org/W2027620096","doi":"https://doi.org/10.1017/s0956796800001313","title":"A Debugger for Standard ML","display_name":"A Debugger for Standard ML","publication_year":1995,"publication_date":"1995-04-01","ids":{"openalex":"https://openalex.org/W2027620096","doi":"https://doi.org/10.1017/s0956796800001313","mag":"2027620096"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796800001313","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800001313","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/BF54A954B1F2E6447C9B404627F87EC4/S0956796800001313a.pdf/div-class-title-a-debugger-for-standard-ml-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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/BF54A954B1F2E6447C9B404627F87EC4/S0956796800001313a.pdf/div-class-title-a-debugger-for-standard-ml-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-div.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5046980155","display_name":"Andrew Tolmach","orcid":"https://orcid.org/0000-0002-0748-2044"},"institutions":[{"id":"https://openalex.org/I126345244","display_name":"Portland State University","ror":"https://ror.org/00yn2fy02","country_code":"US","type":"education","lineage":["https://openalex.org/I126345244"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Andrew Tolmach","raw_affiliation_strings":["Department of Computer Science, Portland State University, P.O. Box 751, Portland, OR 97207-0751, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Portland State University, P.O. Box 751, Portland, OR 97207-0751, USA","institution_ids":["https://openalex.org/I126345244"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5004766305","display_name":"Andrew W. Appel","orcid":"https://orcid.org/0000-0001-6009-0325"},"institutions":[{"id":"https://openalex.org/I20089843","display_name":"Princeton University","ror":"https://ror.org/00hx57361","country_code":"US","type":"education","lineage":["https://openalex.org/I20089843"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Andrew W. Appel","raw_affiliation_strings":["Department of Computer Science, Princeton University, 35 Olden Street, Princeton, NJ 08544-2087, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Department of Computer Science, Princeton University, 35 Olden Street, Princeton, NJ 08544-2087, USA","institution_ids":["https://openalex.org/I20089843"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5046980155"],"corresponding_institution_ids":["https://openalex.org/I126345244"],"apc_list":null,"apc_paid":null,"fwci":2.3676,"has_fulltext":true,"cited_by_count":64,"citation_normalized_percentile":{"value":0.88741722,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":90,"max":96},"biblio":{"volume":"5","issue":"2","first_page":"155","last_page":"200"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9994000196456909,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.9993000030517578,"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/T11424","display_name":"Security and Verification in Computing","score":0.9991999864578247,"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/debugger","display_name":"Debugger","score":0.9710090756416321},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.9214701056480408},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.8107569217681885},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7699045538902283},{"id":"https://openalex.org/keywords/debugging","display_name":"Debugging","score":0.734764575958252},{"id":"https://openalex.org/keywords/source-code","display_name":"Source code","score":0.5756255388259888},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5428791046142578},{"id":"https://openalex.org/keywords/instrumentation","display_name":"Instrumentation (computer programming)","score":0.5145356059074402},{"id":"https://openalex.org/keywords/compile-time","display_name":"Compile time","score":0.44936904311180115},{"id":"https://openalex.org/keywords/embedded-system","display_name":"Embedded system","score":0.3375990390777588}],"concepts":[{"id":"https://openalex.org/C2778485113","wikidata":"https://www.wikidata.org/wiki/Q193231","display_name":"Debugger","level":3,"score":0.9710090756416321},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.9214701056480408},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.8107569217681885},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7699045538902283},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.734764575958252},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.5756255388259888},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5428791046142578},{"id":"https://openalex.org/C118530786","wikidata":"https://www.wikidata.org/wiki/Q1134732","display_name":"Instrumentation (computer programming)","level":2,"score":0.5145356059074402},{"id":"https://openalex.org/C200833197","wikidata":"https://www.wikidata.org/wiki/Q333707","display_name":"Compile time","level":3,"score":0.44936904311180115},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.3375990390777588}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1017/s0956796800001313","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800001313","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/BF54A954B1F2E6447C9B404627F87EC4/S0956796800001313a.pdf/div-class-title-a-debugger-for-standard-ml-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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.54.9348","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.9348","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.princeton.edu/fac/appel/papers/debugger.ps","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.8.7125","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.8.7125","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.cs.pdx.edu/~apt/jfp95.ps","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1017/s0956796800001313","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796800001313","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/BF54A954B1F2E6447C9B404627F87EC4/S0956796800001313a.pdf/div-class-title-a-debugger-for-standard-ml-a-href-fn01-ref-type-fn-span-class-sup-1-span-a-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/G264287543","display_name":"Standard ML of New Jersey Software Capitalization","funder_award_id":"8914570","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5069850963","display_name":"Unifying Compile-Time and Run-Time Evaluation","funder_award_id":"8806121","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G8071635988","display_name":"Using Immutable Types for Debugging and Parallelism","funder_award_id":"9002786","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"},{"id":"https://openalex.org/F4320320273","display_name":"University of Cambridge","ror":"https://ror.org/013meh722"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2027620096.pdf","grobid_xml":"https://content.openalex.org/works/W2027620096.grobid-xml"},"referenced_works_count":39,"referenced_works":["https://openalex.org/W82028491","https://openalex.org/W1491178396","https://openalex.org/W1493528027","https://openalex.org/W1580664042","https://openalex.org/W1584951182","https://openalex.org/W1605272533","https://openalex.org/W1614081703","https://openalex.org/W1770006921","https://openalex.org/W1829244603","https://openalex.org/W1938490108","https://openalex.org/W1966897630","https://openalex.org/W1987371135","https://openalex.org/W2047229718","https://openalex.org/W2050613794","https://openalex.org/W2056198286","https://openalex.org/W2058821858","https://openalex.org/W2062950667","https://openalex.org/W2072122071","https://openalex.org/W2081893833","https://openalex.org/W2082498963","https://openalex.org/W2083697466","https://openalex.org/W2083796365","https://openalex.org/W2095232527","https://openalex.org/W2111084623","https://openalex.org/W2111823620","https://openalex.org/W2114980032","https://openalex.org/W2118450335","https://openalex.org/W2119816515","https://openalex.org/W2124212956","https://openalex.org/W2133420304","https://openalex.org/W2141157907","https://openalex.org/W2151384546","https://openalex.org/W2154612074","https://openalex.org/W2159558457","https://openalex.org/W2168287017","https://openalex.org/W2780500182","https://openalex.org/W2952445416","https://openalex.org/W4251341484","https://openalex.org/W4254615111"],"related_works":["https://openalex.org/W2800641345","https://openalex.org/W2886673879","https://openalex.org/W564953056","https://openalex.org/W2061184006","https://openalex.org/W2381239448","https://openalex.org/W4236910510","https://openalex.org/W2092932442","https://openalex.org/W2543963479","https://openalex.org/W1751798423","https://openalex.org/W2583000271"],"abstract_inverted_index":{"Abstract":[0],"We":[1],"have":[2],"built":[3],"a":[4,110,122],"portable,":[5],"instrumentation-based,":[6],"replay":[7,125],"debugger":[8,82,103],"for":[9,20],"the":[10,54,78,87,95,100],"Standard":[11],"ML":[12],"of":[13,37],"New":[14],"Jersey":[15],"compiler.":[16,80,101],"Traditional":[17],"\u2018source-level\u2019":[18],"debuggers":[19],"compiled":[21],"languages":[22,42],"actually":[23],"operate":[24],"at":[25],"machine":[26],"level,":[27],"which":[28],"makes":[29],"them":[30],"complex,":[31],"difficult":[32],"to":[33,53,60],"port,":[34],"and":[35,90,93,113,124],"intolerant":[36],"compiler":[38],"optimization.":[39],"For":[40],"secure":[41],"like":[43],"ML,":[44],"however,":[45],"debugging":[46],"support":[47],"can":[48,74],"be":[49,75],"provided":[50],"without":[51],"reference":[52],"underlying":[55,88],"machine,":[56],"by":[57,77,99,131],"adding":[58],"instrumentation":[59],"program":[61],"source":[62],"code":[63,68],"before":[64],"compilation.":[65],"Because":[66],"instrumented":[67],"is":[69,83,119],"(almost)":[70],"ordinary":[71,79],"source,":[72],"it":[73],"processed":[76],"Our":[81],"thus":[84],"independent":[85],"from":[86,94],"hardware":[89],"runtime":[91],"system,":[92],"optimization":[96],"strategies":[97],"used":[98],"The":[102],"also":[104],"provides":[105],"reverse":[106],"execution,":[107],"both":[108],"as":[109],"user":[111],"feature":[112],"an":[114],"internal":[115],"mechanism.":[116],"Reverse":[117],"execution":[118],"implemented":[120],"using":[121],"checkpoint":[123],"system;":[126],"checkpoints":[127],"are":[128],"represented":[129],"primarily":[130],"first-class":[132],"continuations.":[133]},"counts_by_year":[{"year":2023,"cited_by_count":2},{"year":2021,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":1},{"year":2016,"cited_by_count":1},{"year":2015,"cited_by_count":1},{"year":2013,"cited_by_count":2},{"year":2012,"cited_by_count":2}],"updated_date":"2026-05-21T09:19:25.381259","created_date":"2025-10-10T00:00:00"}
