{"id":"https://openalex.org/W3206925941","doi":"https://doi.org/10.1145/3485532","title":"How statically-typed functional programmers write code","display_name":"How statically-typed functional programmers write code","publication_year":2021,"publication_date":"2021-10-15","ids":{"openalex":"https://openalex.org/W3206925941","doi":"https://doi.org/10.1145/3485532","mag":"3206925941"},"language":"en","primary_location":{"id":"doi:10.1145/3485532","doi":"https://doi.org/10.1145/3485532","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485532","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485532","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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"},"volume":null,"type":"article","is_traditional":true,"indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3485532","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5088113811","display_name":"Justin P. Lubin","orcid":"https://orcid.org/0000-0003-2311-1873","observed_orcids":["https://orcid.org/0000-0003-2311-1873"]},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Justin Lubin","raw_affiliation_strings":["University of California at Berkeley, USA"],"raw_orcid":"https://orcid.org/0000-0003-2311-1873","affiliations":[{"raw_affiliation_string":"University of California at Berkeley, USA","institution_ids":["https://openalex.org/I95457486"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5090728813","display_name":"Sarah Chasins","orcid":"https://orcid.org/0000-0003-0557-3580","observed_orcids":["https://orcid.org/0000-0003-0557-3580"]},"institutions":[{"id":"https://openalex.org/I95457486","display_name":"University of California, Berkeley","ror":"https://ror.org/01an7q238","country_code":"US","type":"education","lineage":["https://openalex.org/I95457486"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Sarah E. Chasins","raw_affiliation_strings":["University of California at Berkeley, USA"],"raw_orcid":"https://orcid.org/0000-0003-0557-3580","affiliations":[{"raw_affiliation_string":"University of California at Berkeley, USA","institution_ids":["https://openalex.org/I95457486"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I95457486"],"apc_list":null,"apc_paid":null,"fwci":2.254,"has_fulltext":true,"cited_by_count":21,"citation_normalized_percentile":{"value":0.90055362,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":88,"max":99},"biblio":{"volume":"5","issue":"OOPSLA","first_page":"1","last_page":"30"},"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.6060000061988831,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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.6060000061988831,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"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/T10260","display_name":"Software Engineering Research","score":0.1981000006198883,"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/T10430","display_name":"Software Engineering Techniques and Practices","score":0.1356000006198883,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/type-systems","display_name":"type systems","score":0.515999972820282},{"id":"https://openalex.org/keywords/domain-modeling","display_name":"domain modeling","score":0.6729999780654907},{"id":"https://openalex.org/keywords/compiler-feedback","display_name":"compiler feedback","score":0.5740000009536743},{"id":"https://openalex.org/keywords/program-editing","display_name":"program editing","score":0.33899998664855957},{"id":"https://openalex.org/keywords/language-design","display_name":"language design","score":0.3700000047683716},{"id":"https://openalex.org/keywords/tool-design","display_name":"tool design","score":0.6000000238418579}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8528053760528564},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7646119594573975},{"id":"https://openalex.org/C2778514511","wikidata":"https://www.wikidata.org/wiki/Q1374194","display_name":"Programmer","level":2,"score":0.6438835859298706},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.6391962766647339},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5186294913291931},{"id":"https://openalex.org/C2780615836","wikidata":"https://www.wikidata.org/wiki/Q2471869","display_name":"USable","level":2,"score":0.5152580738067627},{"id":"https://openalex.org/C194995250","wikidata":"https://www.wikidata.org/wiki/Q531136","display_name":"Affordance","level":2,"score":0.47444355487823486},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.44132593274116516},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.41200098395347595},{"id":"https://openalex.org/C107457646","wikidata":"https://www.wikidata.org/wiki/Q207434","display_name":"Human\u2013computer interaction","level":1,"score":0.2443528175354004},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.14941534399986267},{"id":"https://openalex.org/C136764020","wikidata":"https://www.wikidata.org/wiki/Q466","display_name":"World Wide Web","level":1,"score":0.1126866340637207}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3485532","doi":"https://doi.org/10.1145/3485532","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485532","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485532","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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/3485532","doi":"https://doi.org/10.1145/3485532","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3485532","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3485532","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,"listed_in":["ccf-c","cwts-core","dongbi-b","jufo-1","norway-1","poland-20","russia-white-list-1","vabb-shw"],"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":[],"study_designs":[],"awards":[{"id":"https://openalex.org/G1352092526","display_name":"A1: Knowledge Network Development Infrastructure with Application to COVID-19 Science and Economics","funder_award_id":"2033558","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G2233570209","display_name":"Convergence Accelerator Phase I (RAISE): Linking the Open Knowledge Network to the Web with End-User Programming","funder_award_id":"1936731","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G2966665750","display_name":"Graduate Research Fellowship Program (GRFP)","funder_award_id":"1752814","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G4438796283","display_name":"RAPID: Collecting Reliable COVID-19 Datasets in Crisis Conditions","funder_award_id":"2029457","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":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3206925941.pdf","grobid_xml":"https://content.openalex.org/works/W3206925941.grobid-xml"},"referenced_works_count":72,"referenced_works":["https://openalex.org/W202578663","https://openalex.org/W624492453","https://openalex.org/W1006997171","https://openalex.org/W1487314578","https://openalex.org/W1500842519","https://openalex.org/W1506975425","https://openalex.org/W1538713499","https://openalex.org/W1588692093","https://openalex.org/W1649645444","https://openalex.org/W1722621474","https://openalex.org/W1901145490","https://openalex.org/W1980941200","https://openalex.org/W1989184611","https://openalex.org/W1997199152","https://openalex.org/W2002183047","https://openalex.org/W2022557060","https://openalex.org/W2031043538","https://openalex.org/W2038799287","https://openalex.org/W2048627472","https://openalex.org/W2049514555","https://openalex.org/W2057156093","https://openalex.org/W2057246065","https://openalex.org/W2058580210","https://openalex.org/W2058969248","https://openalex.org/W2061928694","https://openalex.org/W2064189581","https://openalex.org/W2065276745","https://openalex.org/W2066394200","https://openalex.org/W2066998450","https://openalex.org/W2094462028","https://openalex.org/W2098641650","https://openalex.org/W2100336184","https://openalex.org/W2101568455","https://openalex.org/W2104380696","https://openalex.org/W2113610359","https://openalex.org/W2117336060","https://openalex.org/W2117968587","https://openalex.org/W2119086983","https://openalex.org/W2137035040","https://openalex.org/W2149236697","https://openalex.org/W2157289187","https://openalex.org/W2162363818","https://openalex.org/W2178931863","https://openalex.org/W2294655399","https://openalex.org/W2353739181","https://openalex.org/W2401870263","https://openalex.org/W2412440871","https://openalex.org/W2470712504","https://openalex.org/W2533701240","https://openalex.org/W2541459776","https://openalex.org/W2608014122","https://openalex.org/W2612360245","https://openalex.org/W2619504419","https://openalex.org/W2747389795","https://openalex.org/W2791265653","https://openalex.org/W2810098674","https://openalex.org/W2891612558","https://openalex.org/W2899324569","https://openalex.org/W3009126534","https://openalex.org/W3010197425","https://openalex.org/W3011737828","https://openalex.org/W3013942556","https://openalex.org/W3028676906","https://openalex.org/W3046985528","https://openalex.org/W3092881338","https://openalex.org/W3095180893","https://openalex.org/W3105533111","https://openalex.org/W3128009513","https://openalex.org/W3137125456","https://openalex.org/W3160975994","https://openalex.org/W4210872286","https://openalex.org/W4252159906"],"related_works":["https://openalex.org/W3160975994","https://openalex.org/W176902785","https://openalex.org/W2898442200","https://openalex.org/W7015699987","https://openalex.org/W7096873541","https://openalex.org/W2533340432","https://openalex.org/W4384613943","https://openalex.org/W2101738531","https://openalex.org/W2997250183","https://openalex.org/W4230560939"],"abstract_inverted_index":{"How":[0],"working":[1],"statically-typed":[2,60,76,99,131],"functional":[3,61,77,100,132],"programmers":[4,62,133],"write":[5],"code":[6,148],"is":[7,46],"largely":[8],"understudied.":[9],"And":[10],"yet,":[11],"a":[12,66,84,119],"better":[13,53],"understanding":[14],"of":[15,25,43,70,74,80,98,115,121,180,190],"developer":[16],"practices":[17],"could":[18,203],"pave":[19],"the":[20,23,55,95,178,200],"way":[21],"for":[22,183],"design":[24],"more":[26,31,35],"useful":[27],"and":[28,34,110,113,139,158,185],"usable":[29],"tooling,":[30],"ergonomic":[32],"languages,":[33],"effective":[36],"on-ramps":[37],"into":[38,93],"programming":[39,72,101],"communities.":[40],"The":[41,87,188],"goal":[42],"this":[44,49,191],"work":[45],"to":[47,52,125,173,206],"address":[48],"knowledge":[50],"gap:":[51],"understand":[54],"high-level":[56],"authoring":[57],"patterns":[58,197],"that":[59,130,141,159,165,170,199],"employ.":[63],"We":[64,117],"conducted":[65,118],"grounded":[67],"theory":[68,88],"analysis":[69],"30":[71],"sessions":[73],"practicing":[75],"programmers,":[78],"15":[79],"which":[81],"also":[82],"included":[83],"semi-structured":[85],"interview.":[86],"we":[89,176],"developed":[90],"gives":[91],"insight":[92],"how":[94],"specific":[96],"affordances":[97],"affect":[102],"domain":[103],"modeling,":[104],"type":[105],"construction,":[106],"focusing":[107],"techniques,":[108],"exploratory":[109],"reasoning":[111],"strategies,":[112],"expressions":[114],"intent.":[116],"set":[120],"quantitative":[122],"lab":[123],"experiments":[124],"validate":[126],"our":[127,181],"findings,":[128],"including":[129],"often":[134,143],"iterate":[135],"between":[136],"editing":[137],"types":[138],"expressions,":[140],"they":[142,151,160,171],"run":[144],"their":[145],"compiler":[146],"on":[147],"even":[149],"when":[150],"know":[152],"it":[153],"will":[154],"not":[155],"successfully":[156],"compile,":[157],"make":[161],"textual":[162],"program":[163,195],"edits":[164,169],"reliably":[166],"signal":[167],"future":[168],"intend":[172],"make.":[174],"Lastly,":[175],"outline":[177],"implications":[179],"findings":[182],"language":[184],"tool":[186],"design.":[187],"success":[189],"approach":[192],"in":[193],"revealing":[194],"authorship":[196],"suggests":[198],"same":[201],"methodology":[202],"be":[204],"used":[205],"study":[207],"other":[208],"understudied":[209],"programmer":[210],"populations.":[211]},"counts_by_year":[{"year":2026,"cited_by_count":4},{"year":2025,"cited_by_count":7},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":5},{"year":2022,"cited_by_count":1}],"updated_date":"2026-11-07T11:25:07.637180","created_date":"2021-10-25T00:00:00"}
