{"id":"https://openalex.org/W2154044723","doi":"https://doi.org/10.1145/2784731.2784738","title":"1ML \u2013 core and modules united (F-ing first-class modules)","display_name":"1ML \u2013 core and modules united (F-ing first-class modules)","publication_year":2015,"publication_date":"2015-08-26","ids":{"openalex":"https://openalex.org/W2154044723","doi":"https://doi.org/10.1145/2784731.2784738","mag":"2154044723"},"language":"en","primary_location":{"id":"doi:10.1145/2784731.2784738","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2784731.2784738","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2784731.2784738","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":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/2784731.2784738","any_repository_has_fulltext":null},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5054382677","display_name":"Andreas Rossberg","orcid":"https://orcid.org/0000-0003-3137-3160"},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Andreas Rossberg","raw_affiliation_strings":["Google, Germany"],"affiliations":[{"raw_affiliation_string":"Google, Germany","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5054382677"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":3.1157,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.92852146,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"35","last_page":"47"},"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.9998000264167786,"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.9998000264167786,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9908000230789185,"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/T10317","display_name":"Advanced Database Systems and Queries","score":0.9821000099182129,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"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.7537651658058167},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.667552649974823},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.6209303140640259},{"id":"https://openalex.org/keywords/type-inference","display_name":"Type inference","score":0.5845310688018799},{"id":"https://openalex.org/keywords/tuple","display_name":"Tuple","score":0.5460219383239746},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.5357896685600281},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.49312660098075867},{"id":"https://openalex.org/keywords/redundancy","display_name":"Redundancy (engineering)","score":0.47629156708717346},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.4733472168445587},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.41672107577323914},{"id":"https://openalex.org/keywords/extension","display_name":"Extension (predicate logic)","score":0.41339367628097534},{"id":"https://openalex.org/keywords/inference","display_name":"Inference","score":0.33199605345726013},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.22688215970993042},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.2263001799583435},{"id":"https://openalex.org/keywords/discrete-mathematics","display_name":"Discrete mathematics","score":0.13749775290489197}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7537651658058167},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.667552649974823},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.6209303140640259},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.5845310688018799},{"id":"https://openalex.org/C118930307","wikidata":"https://www.wikidata.org/wiki/Q600590","display_name":"Tuple","level":2,"score":0.5460219383239746},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.5357896685600281},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.49312660098075867},{"id":"https://openalex.org/C152124472","wikidata":"https://www.wikidata.org/wiki/Q1204361","display_name":"Redundancy (engineering)","level":2,"score":0.47629156708717346},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.4733472168445587},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.41672107577323914},{"id":"https://openalex.org/C2778029271","wikidata":"https://www.wikidata.org/wiki/Q5421931","display_name":"Extension (predicate logic)","level":2,"score":0.41339367628097534},{"id":"https://openalex.org/C2776214188","wikidata":"https://www.wikidata.org/wiki/Q408386","display_name":"Inference","level":2,"score":0.33199605345726013},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.22688215970993042},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.2263001799583435},{"id":"https://openalex.org/C118615104","wikidata":"https://www.wikidata.org/wiki/Q121416","display_name":"Discrete mathematics","level":1,"score":0.13749775290489197},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","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}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/2784731.2784738","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2784731.2784738","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2784731.2784738","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:CiteSeerX.psu:10.1.1.701.4834","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.701.4834","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.mpi-sws.org/%7Erossberg/1ml/1ml.pdf","raw_type":"text"},{"id":"pmh:oai:CiteSeerX.psu:10.1.1.701.9960","is_oa":false,"landing_page_url":"http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.701.9960","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"http://www.mpi-sws.org/%7Erossberg/papers/Rossberg%20-%201ML%20--%20Core%20and%20modules%20united%20%5BExtended%5D.pdf","raw_type":"text"}],"best_oa_location":{"id":"doi:10.1145/2784731.2784738","is_oa":true,"landing_page_url":"https://doi.org/10.1145/2784731.2784738","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/2784731.2784738","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"},"sustainable_development_goals":[{"score":0.5400000214576721,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, Justice and strong institutions"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2154044723.pdf","grobid_xml":"https://content.openalex.org/works/W2154044723.grobid-xml"},"referenced_works_count":35,"referenced_works":["https://openalex.org/W1546727036","https://openalex.org/W1561824685","https://openalex.org/W1567587382","https://openalex.org/W1581498582","https://openalex.org/W1597824249","https://openalex.org/W1720741243","https://openalex.org/W1829244603","https://openalex.org/W1874841796","https://openalex.org/W1970673141","https://openalex.org/W1989760056","https://openalex.org/W2003298503","https://openalex.org/W2014889169","https://openalex.org/W2039446670","https://openalex.org/W2043188316","https://openalex.org/W2044758536","https://openalex.org/W2048569219","https://openalex.org/W2052822938","https://openalex.org/W2053070172","https://openalex.org/W2058141320","https://openalex.org/W2059895047","https://openalex.org/W2097157641","https://openalex.org/W2104204098","https://openalex.org/W2105223068","https://openalex.org/W2110196404","https://openalex.org/W2121993468","https://openalex.org/W2132500556","https://openalex.org/W2133639043","https://openalex.org/W2138884999","https://openalex.org/W2161017670","https://openalex.org/W2163976959","https://openalex.org/W2165264979","https://openalex.org/W2166822586","https://openalex.org/W2167017930","https://openalex.org/W4231402167","https://openalex.org/W4250583525"],"related_works":["https://openalex.org/W4245395944","https://openalex.org/W2143551613","https://openalex.org/W1979740464","https://openalex.org/W2138823233","https://openalex.org/W2143345456","https://openalex.org/W2023236823","https://openalex.org/W1789991335","https://openalex.org/W2562731034","https://openalex.org/W2101053337","https://openalex.org/W1546993490"],"abstract_inverted_index":{"ML":[0,109],"is":[1,7,145,159,178,216,232,235],"two":[2],"languages":[3],"in":[4,50,85,110,180,186,250],"one:":[5],"there":[6,15],"the":[8,33,139,154,256],"core,":[9],"with":[10,18,207],"types":[11],"and":[12,14,21,39,52,54,83,99,117,119,132,138,174,204,247],"expressions,":[13],"are":[16,36,96,113,122,136],"modules,":[17],"signatures,":[19],"structures":[20],"functors.":[22],"Modules":[23],"form":[24],"a":[25,61,66,106,187,236,251],"separate,":[26],"higher-order":[27],"functional":[28],"language":[29,215],"on":[30],"top":[31],"of":[32,108,163,182,190,202],"core.":[34],"There":[35],"both":[37,197],"practical":[38],"technical":[40],"reasons":[41],"for":[42,213,226,240],"this":[43,128,214],"stratification;":[44],"yet,":[45],"it":[46,55],"creates":[47],"substantial":[48],"duplication":[49],"syntax":[51,239],"semantics,":[53],"reduces":[56],"expressiveness.":[57],"For":[58],"example,":[59],"selecting":[60],"module":[62,120],"cannot":[63],"be":[64,74],"made":[65,146],"dynamic":[67],"decision.":[68],"Language":[69],"extensions":[70],"allowing":[71],"modules":[72,112,193],"to":[73,93],"packaged":[75],"up":[76],"as":[77],"first-class":[78,115],"values":[79],"have":[80],"been":[81],"proposed":[82],"implemented":[84],"different":[86],"variations.":[87],"However,":[88],"they":[89],"remedy":[90],"expressiveness":[91],"only":[92],"some":[94],"extent,":[95],"syntactically":[97],"cumbersome,":[98],"do":[100],"not":[101,170,217,222],"alleviate":[102],"redundancy.":[103],"We":[104,195],"propose":[105],"redesign":[107],"which":[111],"truly":[114],"values,":[116],"core":[118],"layer":[121],"unified":[123],"into":[124],"one":[125,137],"language.":[126],"In":[127],"\"1ML\",":[129],"functions,":[130],"functors,":[131],"even":[133],"type":[134,176,248],"constructors":[135],"same":[140],"construct;":[141],"likewise,":[142],"no":[143],"distinction":[144],"between":[147],"structures,":[148],"records,":[149],"or":[150],"tuples.":[151],"Or":[152],"viewed":[153],"other":[155],"way":[156],"round,":[157],"everything":[158],"just":[160],"(\"a":[161],"mode":[162],"use":[164],"of\")":[165],"modules.":[166],"Yet,":[167],"1ML":[168,234],"does":[169],"require":[171],"dependent":[172],"types,":[173],"its":[175],"structure":[177],"expressible":[179],"terms":[181],"plain":[183],"System":[184,241],"F\u03c9,":[185],"minor":[188],"variation":[189],"our":[191],"F-ing":[192],"approach.":[194],"introduce":[196],"an":[198,205],"explicitly":[199],"typed":[200],"version":[201],"1ML,":[203],"extension":[206],"Damas/Milner-style":[208],"implicit":[209],"quantification.":[210],"Type":[211],"inference":[212],"complete,":[218],"but,":[219],"we":[220],"argue,":[221],"substantially":[223],"worse":[224],"than":[225,255],"Standard":[227],"ML.":[228],"An":[229],"alternative":[230],"view":[231],"that":[233,243],"user-friendly":[237],"surface":[238],"F\u03c9":[242],"allows":[244],"combining":[245],"term":[246],"abstraction":[249],"more":[252],"compositional":[253],"manner":[254],"bare":[257],"calculus.":[258]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":1},{"year":2017,"cited_by_count":1},{"year":2016,"cited_by_count":6}],"updated_date":"2026-04-05T17:49:38.594831","created_date":"2025-10-10T00:00:00"}
