{"id":"https://openalex.org/W4387667003","doi":"https://doi.org/10.1145/3622837","title":"A Pretty Expressive Printer","display_name":"A Pretty Expressive Printer","publication_year":2023,"publication_date":"2023-10-16","ids":{"openalex":"https://openalex.org/W4387667003","doi":"https://doi.org/10.1145/3622837"},"language":"en","primary_location":{"id":"doi:10.1145/3622837","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622837","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622837","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3622837","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5051441125","display_name":"Sorawee Porncharoenwase","orcid":"https://orcid.org/0000-0003-3900-5602"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]},{"id":"https://openalex.org/I58610484","display_name":"Seattle University","ror":"https://ror.org/02jqc0m91","country_code":"US","type":"education","lineage":["https://openalex.org/I58610484"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sorawee Porncharoenwase","raw_affiliation_strings":["University of Washington, Seattle, USA"],"raw_orcid":"https://orcid.org/0000-0003-3900-5602","affiliations":[{"raw_affiliation_string":"University of Washington, Seattle, USA","institution_ids":["https://openalex.org/I201448701","https://openalex.org/I58610484"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5011426510","display_name":"Justin Pombrio","orcid":"https://orcid.org/0009-0004-0244-6193"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Justin Pombrio","raw_affiliation_strings":["n.n., Cambridge, United States"],"raw_orcid":"https://orcid.org/0009-0004-0244-6193","affiliations":[{"raw_affiliation_string":"n.n., Cambridge, United States","institution_ids":[]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5088791029","display_name":"Emina Torlak","orcid":"https://orcid.org/0000-0002-1155-2711"},"institutions":[{"id":"https://openalex.org/I201448701","display_name":"University of Washington","ror":"https://ror.org/00cvxb145","country_code":"US","type":"education","lineage":["https://openalex.org/I201448701"]},{"id":"https://openalex.org/I58610484","display_name":"Seattle University","ror":"https://ror.org/02jqc0m91","country_code":"US","type":"education","lineage":["https://openalex.org/I58610484"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Emina Torlak","raw_affiliation_strings":["University of Washington, Seattle, USA"],"raw_orcid":"https://orcid.org/0000-0002-1155-2711","affiliations":[{"raw_affiliation_string":"University of Washington, Seattle, USA","institution_ids":["https://openalex.org/I201448701","https://openalex.org/I58610484"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"cited_by_count":0,"citation_normalized_percentile":{"value":0.22933737,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":"7","issue":"OOPSLA2","first_page":"1122","last_page":"1149"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9990000128746033,"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.9990000128746033,"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.9987999796867371,"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/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"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.7307093143463135},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.6942105293273926},{"id":"https://openalex.org/keywords/flexibility","display_name":"Flexibility (engineering)","score":0.6503006815910339},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.48319211602211},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.15587446093559265}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7307093143463135},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.6942105293273926},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.6503006815910339},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.48319211602211},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15587446093559265},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3622837","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622837","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622837","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3622837","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3622837","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3622837","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G4377053310","display_name":"CAREER:  The Next 700 Solver-Aided Languages","funder_award_id":"1651225","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4786893990","display_name":null,"funder_award_id":"CF-1651225,CF-1836724,CNS-1844807","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4967461180","display_name":"FMitF: A Framework for Synthesis of Efficient, Reliable, and Secure Operating System Components","funder_award_id":"1836724","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G5495359703","display_name":"CAREER: A Framework for Automated Verification of Hypervisors","funder_award_id":"1844807","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/F4320316785","display_name":"VMware","ror":null}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4387667003.pdf","grobid_xml":"https://content.openalex.org/works/W4387667003.grobid-xml"},"referenced_works_count":16,"referenced_works":["https://openalex.org/W1480909796","https://openalex.org/W1491930452","https://openalex.org/W1508259349","https://openalex.org/W1965662337","https://openalex.org/W2002988345","https://openalex.org/W2102222848","https://openalex.org/W2143480661","https://openalex.org/W2591126073","https://openalex.org/W2751836918","https://openalex.org/W2787976344","https://openalex.org/W2912911385","https://openalex.org/W3011737828","https://openalex.org/W4205913186","https://openalex.org/W4247030190","https://openalex.org/W6811215404","https://openalex.org/W6931565161"],"related_works":["https://openalex.org/W2748952813","https://openalex.org/W3008339103","https://openalex.org/W2404647514","https://openalex.org/W1667647204","https://openalex.org/W4247536566","https://openalex.org/W3119814709","https://openalex.org/W2018477250","https://openalex.org/W4241418540","https://openalex.org/W1508895727","https://openalex.org/W2725786787"],"abstract_inverted_index":{"Pretty":[0],"printers":[1,52,161],"make":[2],"trade-offs":[3],"between":[4,20],"the":[5,12,29,54,63,96,109,115,152,163],"expressiveness":[6,153],"of":[7,31,66,105,120,154,200],"their":[8,32,166],"pretty":[9,39,51,74,131,140,155,160],"printing":[10,156],"language,":[11],"optimality":[13,60,97],"objective":[14],"that":[15,44,133,179],"they":[16],"minimize":[17],"when":[18],"choosing":[19,77],"different":[21,79],"ways":[22,80],"to":[23,81,113],"lay":[24,82],"out":[25,83],"a":[26,37,84,89,102,130,146,198,201],"document,":[27,85],"and":[28,56,118,124,158,172,183],"performance":[30],"algorithm.":[33],"This":[34],"paper":[35],"presents":[36],"new":[38],"printer,":[40],"\u03a0":[41,67,86,100,121,126],"e":[42,68,87,101,122,127],",":[43,93,123],"is":[45,69,181],"strictly":[46],"more":[47],"expressive":[48],"than":[49,71],"all":[50],"in":[53,162],"literature":[55],"provably":[57],"minimizes":[58],"an":[59],"objective.":[61],"Furthermore,":[62],"time":[64,170],"complexity":[65],"better":[70],"many":[72],"existing":[73],"printers.":[75],"When":[76],"among":[78],"consults":[88],"user-supplied":[90],"cost":[91],"factory":[92],"which":[94],"determines":[95],"objective,":[98],"giving":[99],"unique":[103],"degree":[104],"flexibility.":[106],"We":[107],"use":[108],"Lean":[110],"theorem":[111],"prover":[112],"verify":[114],"correctness":[116],"(validity":[117],"optimality)":[119],"implement":[125],"concretely":[128],"as":[129,197],"printer":[132,141],"we":[134,144],"call":[135],"PrettyExpressive.":[136],"To":[137],"evaluate":[138],"our":[139],"against":[142],"others,":[143],"develop":[145],"formal":[147],"framework":[148],"for":[149,204],"reasoning":[150],"about":[151],"languages,":[157],"survey":[159],"literature,":[164],"comparing":[165],"expressiveness,":[167],"optimality,":[168],"worst-case":[169],"complexity,":[171],"practical":[173],"running":[174],"time.":[175],"Our":[176],"evaluation":[177],"shows":[178],"PrettyExpressive":[180,189],"efficient":[182],"effective":[184],"at":[185],"producing":[186],"optimal":[187],"layouts.":[188],"has":[190],"also":[191],"seen":[192],"real-world":[193],"adoption:":[194],"it":[195],"serves":[196],"foundation":[199],"code":[202],"formatter":[203],"Racket.":[205]},"counts_by_year":[],"updated_date":"2026-06-22T08:00:12.763002","created_date":"2025-10-10T00:00:00"}
