{"id":"https://openalex.org/W2097013380","doi":"https://doi.org/10.1145/2784731.2784740","title":"Pycket: a tracing JIT for a functional language","display_name":"Pycket: a tracing JIT for a functional language","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W2097013380","doi":"https://doi.org/10.1145/2784731.2784740","mag":"2097013380"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2784740","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784740","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5063765507","display_name":"Spenser Bauman","orcid":null},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Spenser Bauman","raw_affiliation_strings":["Indiana University, USA","Indiana University , USA"],"affiliations":[{"raw_affiliation_string":"Indiana University, USA","institution_ids":["https://openalex.org/I592451"]},{"raw_affiliation_string":"Indiana University , USA","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5108349085","display_name":"Carl Friedrich Bolz","orcid":null},"institutions":[{"id":"https://openalex.org/I183935753","display_name":"King's College London","ror":"https://ror.org/0220mzb33","country_code":"GB","type":"education","lineage":["https://openalex.org/I124357947","https://openalex.org/I183935753"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Carl Friedrich Bolz","raw_affiliation_strings":["Kings College London, UK","Kings College London, , UK"],"affiliations":[{"raw_affiliation_string":"Kings College London, UK","institution_ids":["https://openalex.org/I183935753"]},{"raw_affiliation_string":"Kings College London, , UK","institution_ids":["https://openalex.org/I183935753"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5079160871","display_name":"Robert Hirschfeld","orcid":"https://orcid.org/0000-0002-4249-6003"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Robert Hirschfeld","raw_affiliation_strings":["HPI, Germany"],"affiliations":[{"raw_affiliation_string":"HPI, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5008551753","display_name":"Vasily Kirilichev","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Vasily Kirilichev","raw_affiliation_strings":["HPI, Germany"],"affiliations":[{"raw_affiliation_string":"HPI, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5053989138","display_name":"Tobias Pape","orcid":"https://orcid.org/0000-0003-0110-6918"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tobias Pape","raw_affiliation_strings":["HPI, Germany"],"affiliations":[{"raw_affiliation_string":"HPI, Germany","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5033999458","display_name":"Jeremy G. Siek","orcid":"https://orcid.org/0000-0002-9894-4856"},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Jeremy G. Siek","raw_affiliation_strings":["Indiana University, USA","Indiana University , USA"],"affiliations":[{"raw_affiliation_string":"Indiana University, USA","institution_ids":["https://openalex.org/I592451"]},{"raw_affiliation_string":"Indiana University , USA","institution_ids":["https://openalex.org/I592451"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5043677781","display_name":"Sam Tobin-Hochstadt","orcid":"https://orcid.org/0000-0003-1302-6499"},"institutions":[{"id":"https://openalex.org/I592451","display_name":"Indiana University","ror":"https://ror.org/01kg8sb98","country_code":"US","type":"education","lineage":["https://openalex.org/I592451"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sam Tobin-Hochstadt","raw_affiliation_strings":["Indiana University, USA","Indiana University , USA"],"affiliations":[{"raw_affiliation_string":"Indiana University, USA","institution_ids":["https://openalex.org/I592451"]},{"raw_affiliation_string":"Indiana University , USA","institution_ids":["https://openalex.org/I592451"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":7,"corresponding_author_ids":["https://openalex.org/A5063765507"],"corresponding_institution_ids":["https://openalex.org/I592451"],"apc_list":null,"apc_paid":null,"fwci":12.0103,"has_fulltext":false,"cited_by_count":45,"citation_normalized_percentile":{"value":0.98498217,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"22","last_page":"34"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9995999932289124,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9990000128746033,"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/T11424","display_name":"Security and Verification in Computing","score":0.9968000054359436,"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/racket","display_name":"Racket","score":0.890478789806366},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8640318512916565},{"id":"https://openalex.org/keywords/tracing","display_name":"Tracing","score":0.770548403263092},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7381921410560608},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6930705904960632},{"id":"https://openalex.org/keywords/bytecode","display_name":"Bytecode","score":0.5775260925292969},{"id":"https://openalex.org/keywords/just-in-time-compilation","display_name":"Just-in-time compilation","score":0.5726504325866699},{"id":"https://openalex.org/keywords/benchmark","display_name":"Benchmark (surveying)","score":0.5686754584312439},{"id":"https://openalex.org/keywords/overhead","display_name":"Overhead (engineering)","score":0.44898727536201477},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.1478632390499115}],"concepts":[{"id":"https://openalex.org/C2778707667","wikidata":"https://www.wikidata.org/wiki/Q1254148","display_name":"Racket","level":3,"score":0.890478789806366},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8640318512916565},{"id":"https://openalex.org/C138673069","wikidata":"https://www.wikidata.org/wiki/Q322229","display_name":"Tracing","level":2,"score":0.770548403263092},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7381921410560608},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6930705904960632},{"id":"https://openalex.org/C2779818221","wikidata":"https://www.wikidata.org/wiki/Q837330","display_name":"Bytecode","level":3,"score":0.5775260925292969},{"id":"https://openalex.org/C76782552","wikidata":"https://www.wikidata.org/wiki/Q110546","display_name":"Just-in-time compilation","level":3,"score":0.5726504325866699},{"id":"https://openalex.org/C185798385","wikidata":"https://www.wikidata.org/wiki/Q1161707","display_name":"Benchmark (surveying)","level":2,"score":0.5686754584312439},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.44898727536201477},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.1478632390499115},{"id":"https://openalex.org/C121332964","wikidata":"https://www.wikidata.org/wiki/Q413","display_name":"Physics","level":0,"score":0.0},{"id":"https://openalex.org/C65655974","wikidata":"https://www.wikidata.org/wiki/Q14867674","display_name":"Swing","level":2,"score":0.0},{"id":"https://openalex.org/C13280743","wikidata":"https://www.wikidata.org/wiki/Q131089","display_name":"Geodesy","level":1,"score":0.0},{"id":"https://openalex.org/C205649164","wikidata":"https://www.wikidata.org/wiki/Q1071","display_name":"Geography","level":0,"score":0.0},{"id":"https://openalex.org/C24890656","wikidata":"https://www.wikidata.org/wiki/Q82811","display_name":"Acoustics","level":1,"score":0.0}],"mesh":[],"locations_count":4,"locations":[{"id":"doi:10.1145/2784731.2784740","is_oa":false,"landing_page_url":"https://doi.org/10.1145/2784731.2784740","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming","raw_type":"proceedings-article"},{"id":"pmh:oai:kclpure.kcl.ac.uk:publications/9602742d-d3f8-4086-b73f-2520b43f57ec","is_oa":false,"landing_page_url":"http://www.scopus.com/inward/record.url?scp=84954320235&partnerID=8YFLogxK","pdf_url":null,"source":{"id":"https://openalex.org/S4306400216","display_name":"Research Portal (King's College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I183935753","host_organization_name":"King's College London","host_organization_lineage":["https://openalex.org/I183935753"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bauman , S , Bolz , C F , Hirschfeld , R , Kirilichev , V , Pape , T , Siek , J G &amp; Tobin-Hochstadt , S 2015 , Pycket : A tracing JIT for a functional language . in Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP . vol. 2015-August , pp. 22-34 , 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015 , Vancouver , Canada , 31/08/2015 . https://doi.org/10.1145/2784731.2784740","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:kclpure.kcl.ac.uk:publications/9602742d-d3f8-4086-b73f-2520b43f57ec","is_oa":false,"landing_page_url":"https://kclpure.kcl.ac.uk/portal/en/publications/9602742d-d3f8-4086-b73f-2520b43f57ec","pdf_url":null,"source":{"id":"https://openalex.org/S4306400216","display_name":"Research Portal (King's College London)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I183935753","host_organization_name":"King's College London","host_organization_lineage":["https://openalex.org/I183935753"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Bauman, S, Bolz, C F, Hirschfeld, R, Kirilichev, V, Pape, T, Siek, J G & Tobin-Hochstadt, S 2015, Pycket : A tracing JIT for a functional language. in Proceedings of the ACM SIGPLAN International Conference on Functional Programming, ICFP. vol. 2015-August, pp. 22-34, 20th ACM SIGPLAN International Conference on Functional Programming, ICFP 2015, Vancouver, Canada, 31/08/2015. https://doi.org/10.1145/2784731.2784740","raw_type":"info:eu-repo/semantics/publishedVersion"},{"id":"pmh:oai:kobv.de-opus4-uni-potsdam:38613","is_oa":false,"landing_page_url":"https://publishup.uni-potsdam.de/opus4-ubp/frontdoor/index/index/docId/38613","pdf_url":null,"source":{"id":"https://openalex.org/S4377196346","display_name":"publish.UP (University of Potsdam)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I176453806","host_organization_name":"University of Potsdam","host_organization_lineage":["https://openalex.org/I176453806"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4069495898","display_name":null,"funder_award_id":"EP/K01790X/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G5156957533","display_name":null,"funder_award_id":"1360694,1421652, 1540276","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/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":59,"referenced_works":["https://openalex.org/W100466825","https://openalex.org/W150926849","https://openalex.org/W633399213","https://openalex.org/W1553881800","https://openalex.org/W1566005068","https://openalex.org/W1568267803","https://openalex.org/W1584951182","https://openalex.org/W1594498566","https://openalex.org/W1598886868","https://openalex.org/W1760551737","https://openalex.org/W1878889593","https://openalex.org/W1966981171","https://openalex.org/W1973186567","https://openalex.org/W1974715526","https://openalex.org/W1982205631","https://openalex.org/W1993318777","https://openalex.org/W1993335798","https://openalex.org/W1998416211","https://openalex.org/W2000050212","https://openalex.org/W2001974029","https://openalex.org/W2002301065","https://openalex.org/W2004843654","https://openalex.org/W2040615980","https://openalex.org/W2053321753","https://openalex.org/W2055806388","https://openalex.org/W2058639022","https://openalex.org/W2072737419","https://openalex.org/W2073904768","https://openalex.org/W2084845478","https://openalex.org/W2086833941","https://openalex.org/W2101225843","https://openalex.org/W2101718506","https://openalex.org/W2106411570","https://openalex.org/W2112404227","https://openalex.org/W2114978795","https://openalex.org/W2116136092","https://openalex.org/W2126060880","https://openalex.org/W2126126443","https://openalex.org/W2128303158","https://openalex.org/W2128457714","https://openalex.org/W2130262734","https://openalex.org/W2133240977","https://openalex.org/W2135416495","https://openalex.org/W2137734935","https://openalex.org/W2139672701","https://openalex.org/W2148186462","https://openalex.org/W2153293846","https://openalex.org/W2168176277","https://openalex.org/W2169661165","https://openalex.org/W2171070726","https://openalex.org/W2208923056","https://openalex.org/W2561675875","https://openalex.org/W2565555751","https://openalex.org/W4231002400","https://openalex.org/W4238764673","https://openalex.org/W4285719527","https://openalex.org/W4298872162","https://openalex.org/W6635251283","https://openalex.org/W6678454190"],"related_works":["https://openalex.org/W3153841236","https://openalex.org/W120774220","https://openalex.org/W1965275787","https://openalex.org/W2015402832","https://openalex.org/W3195007140","https://openalex.org/W4232002707","https://openalex.org/W4243842509","https://openalex.org/W2008905239","https://openalex.org/W2009734104","https://openalex.org/W2087647198"],"abstract_inverted_index":{"We":[0,72],"present":[1],"Pycket,":[2],"a":[3,12,34,122,150,170,179],"high-performance":[4],"tracing":[5,106,171],"JIT":[6,45,107,172],"compiler":[7],"for":[8,57,101,169,184],"Racket.":[9],"Pycket":[10,39,52,85,120,138],"supports":[11,139],"wide":[13],"variety":[14],"of":[15,37,67,88,94,149],"the":[16,65,95,127,147,164],"sophisticated":[17],"features":[18],"in":[19],"Racket":[20,58],"such":[21],"as":[22,91],"contracts,":[23],"continuations,":[24],"classes,":[25],"structures,":[26],"dynamic":[27],"binding,":[28],"and":[29,46,69,131,143,155,187],"more.":[30],"On":[31],"average,":[32],"over":[33],"standard":[35],"suite":[36],"benchmarks,":[38],"outperforms":[40],"existing":[41,61,81],"compilers,":[42],"both":[43],"Racket's":[44],"other":[47],"highly-optimizing":[48],"Scheme":[49],"compilers.":[50],"Further,":[51],"provides":[53],"much":[54],"better":[55],"performance":[56,77,167],"proxies":[59],"than":[60,161],"systems,":[62],"dramatically":[63],"reducing":[64],"overhead":[66],"contracts":[68],"gradual":[70],"typing.":[71],"validate":[73],"this":[74],"claim":[75],"with":[76],"evaluation":[78],"on":[79,113,116,126,134],"multiple":[80],"benchmark":[82],"suites.":[83],"The":[84],"implementation":[86],"is":[87,121,173],"independent":[89],"interest":[90],"an":[92],"application":[93],"RPython":[96],"meta-tracing":[97,114],"framework":[98],"(originally":[99],"created":[100],"PyPy),":[102],"which":[103,175],"automatically":[104],"generates":[105],"compilers":[108],"from":[109],"interpreters.":[110],"Prior":[111],"work":[112],"focuses":[115],"bytecode":[117],"interpreters,":[118],"whereas":[119],"high-level":[123],"interpreter":[124],"based":[125],"CEK":[128],"abstract":[129,135],"machine":[130],"operates":[132],"directly":[133],"syntax":[136],"trees.":[137],"proper":[140],"tail":[141],"calls":[142],"first-class":[144],"continuations.":[145],"In":[146],"setting":[148],"functional":[151],"language,":[152],"where":[153],"recursion":[154],"higher-order":[156],"functions":[157],"are":[158],"more":[159],"prevalent":[160],"explicit":[162],"loops,":[163],"most":[165],"significant":[166],"challenge":[168],"identifying":[174,185],"control":[176],"flows":[177],"constitute":[178],"loop---we":[180],"discuss":[181],"two":[182],"strategies":[183],"loops":[186],"measure":[188],"their":[189],"impact.":[190]},"counts_by_year":[{"year":2025,"cited_by_count":2},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":4},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":5},{"year":2018,"cited_by_count":4},{"year":2017,"cited_by_count":6},{"year":2016,"cited_by_count":11},{"year":2015,"cited_by_count":6},{"year":2014,"cited_by_count":2}],"updated_date":"2026-04-04T16:13:02.066488","created_date":"2025-10-10T00:00:00"}
