{"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","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,"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/3485532","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5088113811","display_name":"Justin Lubin","orcid":"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"},"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.5585,"has_fulltext":true,"cited_by_count":17,"citation_normalized_percentile":{"value":0.91301113,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"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/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"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.9998999834060669,"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.9987000226974487,"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9927999973297119,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8528053760528564},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7646119594573975},{"id":"https://openalex.org/keywords/programmer","display_name":"Programmer","score":0.6438835859298706},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.6391962766647339},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5186294913291931},{"id":"https://openalex.org/keywords/usable","display_name":"USable","score":0.5152580738067627},{"id":"https://openalex.org/keywords/affordance","display_name":"Affordance","score":0.47444355487823486},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.44132593274116516},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.41200098395347595},{"id":"https://openalex.org/keywords/human\u2013computer-interaction","display_name":"Human\u2013computer interaction","score":0.2443528175354004},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.14941534399986267},{"id":"https://openalex.org/keywords/world-wide-web","display_name":"World Wide Web","score":0.1126866340637207}],"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","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,"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","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,"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":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.44999998807907104}],"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":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3206925941.pdf","grobid_xml":"https://content.openalex.org/works/W3206925941.grobid-xml"},"referenced_works_count":74,"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/W1901145490","https://openalex.org/W1980941200","https://openalex.org/W1989184611","https://openalex.org/W1997199152","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/W2412440871","https://openalex.org/W2470712504","https://openalex.org/W2533701240","https://openalex.org/W2541459776","https://openalex.org/W2608014122","https://openalex.org/W2619504419","https://openalex.org/W2747389795","https://openalex.org/W2747632778","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/W3101627445","https://openalex.org/W3105533111","https://openalex.org/W3107341969","https://openalex.org/W3128009513","https://openalex.org/W3137125456","https://openalex.org/W3150176278","https://openalex.org/W3160975994","https://openalex.org/W4210872286","https://openalex.org/W4212993294","https://openalex.org/W4252159906","https://openalex.org/W4253400439"],"related_works":["https://openalex.org/W2192862863","https://openalex.org/W1497385637","https://openalex.org/W1482645738","https://openalex.org/W1573380057","https://openalex.org/W4246781209","https://openalex.org/W2130363716","https://openalex.org/W3122607007","https://openalex.org/W2555698833","https://openalex.org/W2968873290","https://openalex.org/W2520344504"],"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":3},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":4},{"year":2023,"cited_by_count":4},{"year":2022,"cited_by_count":1}],"updated_date":"2026-08-06T08:24:18.245995","created_date":"2025-10-10T00:00:00"}
