{"id":"https://openalex.org/W2772486871","doi":"https://doi.org/10.1145/3158130","title":"Simplicitly: foundations and applications of implicit function types","display_name":"Simplicitly: foundations and applications of implicit function types","publication_year":2017,"publication_date":"2017-12-27","ids":{"openalex":"https://openalex.org/W2772486871","doi":"https://doi.org/10.1145/3158130","mag":"2772486871"},"language":"en","primary_location":{"id":"doi:10.1145/3158130","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158130","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158130?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"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":"bronze","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3158130?download=true","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5014926250","display_name":"Olivier Blanvillain","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Olivier Blanvillain","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5067905121","display_name":"Fengyun Liu","orcid":"https://orcid.org/0000-0002-2066-8492"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Fengyun Liu","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5089315679","display_name":"Aggelos Biboudis","orcid":null},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Aggelos Biboudis","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5021433095","display_name":"Heather Miller","orcid":"https://orcid.org/0000-0002-2059-5406"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]},{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH","US"],"is_corresponding":false,"raw_author_name":"Heather Miller","raw_affiliation_strings":["EPFL, Switzerland / Northeastern University, USA"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland / Northeastern University, USA","institution_ids":["https://openalex.org/I12912129","https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5025885695","display_name":"Sandro Stucki","orcid":"https://orcid.org/0000-0001-5608-8273"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Sandro Stucki","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":6,"corresponding_author_ids":["https://openalex.org/A5085410724"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":4.1574,"has_fulltext":true,"cited_by_count":29,"citation_normalized_percentile":{"value":0.95298493,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":90,"max":99},"biblio":{"volume":"2","issue":"POPL","first_page":"1","last_page":"29"},"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.9998999834060669,"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.9998999834060669,"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/T10142","display_name":"Formal Methods in Verification","score":0.9918000102043152,"subfield":{"id":"https://openalex.org/subfields/1703","display_name":"Computational Theory and Mathematics"},"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.9846000075340271,"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/computer-science","display_name":"Computer science","score":0.8273584842681885},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7167527079582214},{"id":"https://openalex.org/keywords/scala","display_name":"Scala","score":0.6905871629714966},{"id":"https://openalex.org/keywords/generalization","display_name":"Generalization","score":0.606197714805603},{"id":"https://openalex.org/keywords/abstraction","display_name":"Abstraction","score":0.5969130396842957},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.5857475996017456},{"id":"https://openalex.org/keywords/range","display_name":"Range (aeronautics)","score":0.5164833068847656},{"id":"https://openalex.org/keywords/function","display_name":"Function (biology)","score":0.47768551111221313},{"id":"https://openalex.org/keywords/context","display_name":"Context (archaeology)","score":0.4706057012081146},{"id":"https://openalex.org/keywords/encode","display_name":"ENCODE","score":0.458998441696167},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.4586513042449951},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4521602988243103},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.44282519817352295},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4259517192840576},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.4229198098182678},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.13425952196121216},{"id":"https://openalex.org/keywords/java","display_name":"Java","score":0.07957598567008972}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8273584842681885},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7167527079582214},{"id":"https://openalex.org/C109701466","wikidata":"https://www.wikidata.org/wiki/Q460584","display_name":"Scala","level":3,"score":0.6905871629714966},{"id":"https://openalex.org/C177148314","wikidata":"https://www.wikidata.org/wiki/Q170084","display_name":"Generalization","level":2,"score":0.606197714805603},{"id":"https://openalex.org/C124304363","wikidata":"https://www.wikidata.org/wiki/Q673661","display_name":"Abstraction","level":2,"score":0.5969130396842957},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.5857475996017456},{"id":"https://openalex.org/C204323151","wikidata":"https://www.wikidata.org/wiki/Q905424","display_name":"Range (aeronautics)","level":2,"score":0.5164833068847656},{"id":"https://openalex.org/C14036430","wikidata":"https://www.wikidata.org/wiki/Q3736076","display_name":"Function (biology)","level":2,"score":0.47768551111221313},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.4706057012081146},{"id":"https://openalex.org/C66746571","wikidata":"https://www.wikidata.org/wiki/Q1134833","display_name":"ENCODE","level":3,"score":0.458998441696167},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.4586513042449951},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4521602988243103},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.44282519817352295},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4259517192840576},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.4229198098182678},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.13425952196121216},{"id":"https://openalex.org/C548217200","wikidata":"https://www.wikidata.org/wiki/Q251","display_name":"Java","level":2,"score":0.07957598567008972},{"id":"https://openalex.org/C151730666","wikidata":"https://www.wikidata.org/wiki/Q7205","display_name":"Paleontology","level":1,"score":0.0},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0},{"id":"https://openalex.org/C111472728","wikidata":"https://www.wikidata.org/wiki/Q9471","display_name":"Epistemology","level":1,"score":0.0},{"id":"https://openalex.org/C192562407","wikidata":"https://www.wikidata.org/wiki/Q228736","display_name":"Materials science","level":0,"score":0.0},{"id":"https://openalex.org/C55493867","wikidata":"https://www.wikidata.org/wiki/Q7094","display_name":"Biochemistry","level":1,"score":0.0},{"id":"https://openalex.org/C159985019","wikidata":"https://www.wikidata.org/wiki/Q181790","display_name":"Composite material","level":1,"score":0.0},{"id":"https://openalex.org/C138885662","wikidata":"https://www.wikidata.org/wiki/Q5891","display_name":"Philosophy","level":0,"score":0.0},{"id":"https://openalex.org/C185592680","wikidata":"https://www.wikidata.org/wiki/Q2329","display_name":"Chemistry","level":0,"score":0.0},{"id":"https://openalex.org/C78458016","wikidata":"https://www.wikidata.org/wiki/Q840400","display_name":"Evolutionary biology","level":1,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C104317684","wikidata":"https://www.wikidata.org/wiki/Q7187","display_name":"Gene","level":2,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1145/3158130","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158130","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158130?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},{"id":"pmh:oai:infoscience.epfl.ch:229878","is_oa":true,"landing_page_url":"http://infoscience.epfl.ch/record/229878","pdf_url":null,"source":{"id":"https://openalex.org/S4306400487","display_name":"Infoscience (Ecole Polytechnique F\u00e9d\u00e9rale de Lausanne)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Text"}],"best_oa_location":{"id":"doi:10.1145/3158130","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3158130","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3158130?download=true","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"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":null,"license_id":null,"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":[{"id":"https://metadata.un.org/sdg/4","score":0.49000000953674316,"display_name":"Quality Education"}],"awards":[{"id":"https://openalex.org/G1345897857","display_name":"Effects As Implicit Capabilites","funder_award_id":"166154","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G2933523270","display_name":"Programming Language Abstractions for Big Data","funder_award_id":"167213","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G4836148144","display_name":null,"funder_award_id":"20002","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G5291884993","display_name":null,"funder_award_id":"200021_166154","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G6329005444","display_name":"Molecular pathways in normal and leukaemic haematopoiesis","funder_award_id":"67213","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G879380985","display_name":"Topology of intracellular synthesis and plasma membrane dis- tribution of glycoconjugates","funder_award_id":"40754","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"},{"id":"https://openalex.org/G993971353","display_name":null,"funder_award_id":"200021","funder_id":"https://openalex.org/F4320320924","funder_display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"},{"id":"https://openalex.org/F4320320924","display_name":"Schweizerischer Nationalfonds zur F\u00f6rderung der Wissenschaftlichen Forschung","ror":"https://ror.org/00yjd3n13"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2772486871.pdf","grobid_xml":"https://content.openalex.org/works/W2772486871.grobid-xml"},"referenced_works_count":29,"referenced_works":["https://openalex.org/W1492124994","https://openalex.org/W1547043196","https://openalex.org/W1558115254","https://openalex.org/W1595372275","https://openalex.org/W1595544871","https://openalex.org/W1975664374","https://openalex.org/W1999260700","https://openalex.org/W2005192022","https://openalex.org/W2014021676","https://openalex.org/W2026323010","https://openalex.org/W2032220227","https://openalex.org/W2036676170","https://openalex.org/W2059895047","https://openalex.org/W2086221190","https://openalex.org/W2090046646","https://openalex.org/W2123092976","https://openalex.org/W2131916293","https://openalex.org/W2139141719","https://openalex.org/W2150101804","https://openalex.org/W2163552400","https://openalex.org/W2163976959","https://openalex.org/W2281310552","https://openalex.org/W2469668513","https://openalex.org/W2740722774","https://openalex.org/W4213453328","https://openalex.org/W4214826241","https://openalex.org/W4250510202","https://openalex.org/W4285719527","https://openalex.org/W7015015092"],"related_works":["https://openalex.org/W2004997206","https://openalex.org/W2905001159","https://openalex.org/W4252702401","https://openalex.org/W301967743","https://openalex.org/W2469935013","https://openalex.org/W593478746","https://openalex.org/W3016342375","https://openalex.org/W2594924361","https://openalex.org/W2566335152","https://openalex.org/W2052440554"],"abstract_inverted_index":{"Understanding":[0],"a":[1,49,59,77],"program":[2],"entails":[3],"understanding":[4],"its":[5],"context;":[6],"dependencies,":[7],"configurations":[8],"and":[9,20,122,125],"even":[10],"implementations":[11],"are":[12,37],"all":[13],"forms":[14],"of":[15,26,51,71,97,107,130],"contexts.":[16],"Modern":[17],"programming":[18],"languages":[19],"theorem":[21],"provers":[22],"offer":[23],"an":[24],"array":[25],"constructs":[27],"to":[28,54,62,114],"define":[29],"contexts,":[30],"implicitly.":[31],"Scala":[32,91],"offers":[33],"implicit":[34,52,55,108],"parameters":[35,53],"which":[36,41,68],"used":[38],"pervasively,":[39],"but":[40],"cannot":[42],"be":[43],"abstracted":[44],"over.":[45],"This":[46],"paper":[47],"describes":[48],"generalization":[50],"function":[56,109],"types":[57],",":[58],"powerful":[60],"way":[61],"abstract":[63],"over":[64],"the":[65,86,90,116,128,131],"context":[66],"in":[67],"some":[69],"piece":[70],"code":[72],"is":[73],"run.":[74],"We":[75,111],"provide":[76],"formalization":[78],"based":[79],"on":[80],"bidirectional":[81],"type-checking":[82],"that":[83,104],"closely":[84],"follows":[85],"semantics":[87],"implemented":[88],"by":[89],"compiler.":[92],"To":[93],"demonstrate":[94],"their":[95],"range":[96],"abstraction":[98],"capabilities,":[99],"we":[100,126],"present":[101],"several":[102],"applications":[103],"make":[105],"use":[106],"types.":[110],"show":[112],"how":[113],"encode":[115],"builder":[117],"pattern,":[118],"tagless":[119],"interpreters,":[120],"reader":[121],"free":[123],"monads":[124],"assess":[127],"performance":[129],"monadic":[132],"structures":[133],"presented.":[134]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":12},{"year":2018,"cited_by_count":3},{"year":2017,"cited_by_count":1}],"updated_date":"2026-04-21T08:09:41.155169","created_date":"2025-10-10T00:00:00"}
