{"id":"https://openalex.org/W2110196404","doi":"https://doi.org/10.1017/s0956796814000264","title":"F-ing modules","display_name":"F-ing modules","publication_year":2014,"publication_date":"2014-09-01","ids":{"openalex":"https://openalex.org/W2110196404","doi":"https://doi.org/10.1017/s0956796814000264","mag":"2110196404"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796814000264","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796814000264","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/B573FA00832D55D4878863DE1725D90B/S0956796814000264a.pdf/div-class-title-f-ing-modules-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/B573FA00832D55D4878863DE1725D90B/S0956796814000264a.pdf/div-class-title-f-ing-modules-div.pdf","any_repository_has_fulltext":false},"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":false,"raw_author_name":"ANDREAS ROSSBERG","raw_affiliation_strings":["Google, Dienerstr. 12, 80331 Munich, Germany (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Google, Dienerstr. 12, 80331 Munich, Germany (e-mail:","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5081301440","display_name":"Claudio Russo","orcid":"https://orcid.org/0000-0003-4877-2424"},"institutions":[{"id":"https://openalex.org/I4210164937","display_name":"Microsoft Research (United Kingdom)","ror":"https://ror.org/05k87vq12","country_code":"GB","type":"company","lineage":["https://openalex.org/I1290206253","https://openalex.org/I4210164937"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"CLAUDIO RUSSO","raw_affiliation_strings":["Microsoft Research 21 Station Road, Cambridge CB1 2FB, United Kingdom (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Microsoft Research 21 Station Road, Cambridge CB1 2FB, United Kingdom (e-mail:","institution_ids":["https://openalex.org/I4210164937"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5050585539","display_name":"Derek Dreyer","orcid":"https://orcid.org/0000-0002-3884-6867"},"institutions":[{"id":"https://openalex.org/I4210121786","display_name":"Max Planck Institute for Software Systems","ror":"https://ror.org/02pe2kf23","country_code":"DE","type":"facility","lineage":["https://openalex.org/I149899117","https://openalex.org/I4210121786"]}],"countries":["DE"],"is_corresponding":false,"raw_author_name":"DEREK DREYER","raw_affiliation_strings":["Max Planck Institute for Software Systems (MPI-SWS), 66123 Saarbr\u00fccken, Germany (e-mail:"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Max Planck Institute for Software Systems (MPI-SWS), 66123 Saarbr\u00fccken, Germany (e-mail:","institution_ids":["https://openalex.org/I4210121786"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":{"value":2660,"currency":"USD","value_usd":2660},"apc_paid":null,"fwci":6.9237,"has_fulltext":true,"cited_by_count":51,"citation_normalized_percentile":{"value":0.96683437,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":"24","issue":"5","first_page":"529","last_page":"607"},"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.9995999932289124,"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.9995999932289124,"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/T10260","display_name":"Software Engineering Research","score":0.9966999888420105,"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9932000041007996,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.8209496140480042},{"id":"https://openalex.org/keywords/sublanguage","display_name":"Sublanguage","score":0.8089190721511841},{"id":"https://openalex.org/keywords/functor","display_name":"Functor","score":0.7881729602813721},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.6837880611419678},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5534520149230957},{"id":"https://openalex.org/keywords/class","display_name":"Class (philosophy)","score":0.49670058488845825},{"id":"https://openalex.org/keywords/category-theory","display_name":"Category theory","score":0.4158863425254822},{"id":"https://openalex.org/keywords/operational-semantics","display_name":"Operational semantics","score":0.4150097668170929},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.2618253827095032},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.15744543075561523},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.11956867575645447}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8209496140480042},{"id":"https://openalex.org/C2776411971","wikidata":"https://www.wikidata.org/wiki/Q17141398","display_name":"Sublanguage","level":2,"score":0.8089190721511841},{"id":"https://openalex.org/C156772000","wikidata":"https://www.wikidata.org/wiki/Q864475","display_name":"Functor","level":2,"score":0.7881729602813721},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.6837880611419678},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5534520149230957},{"id":"https://openalex.org/C2777212361","wikidata":"https://www.wikidata.org/wiki/Q5127848","display_name":"Class (philosophy)","level":2,"score":0.49670058488845825},{"id":"https://openalex.org/C54884031","wikidata":"https://www.wikidata.org/wiki/Q217413","display_name":"Category theory","level":2,"score":0.4158863425254822},{"id":"https://openalex.org/C156325763","wikidata":"https://www.wikidata.org/wiki/Q1930895","display_name":"Operational semantics","level":3,"score":0.4150097668170929},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.2618253827095032},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.15744543075561523},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.11956867575645447}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1017/s0956796814000264","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796814000264","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/B573FA00832D55D4878863DE1725D90B/S0956796814000264a.pdf/div-class-title-f-ing-modules-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1017/s0956796814000264","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796814000264","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/B573FA00832D55D4878863DE1725D90B/S0956796814000264a.pdf/div-class-title-f-ing-modules-div.pdf","source":{"id":"https://openalex.org/S12266929","display_name":"Journal of Functional Programming","issn_l":"0956-7968","issn":["0956-7968","1469-7653"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310311721","host_organization_name":"Cambridge University Press","host_organization_lineage":["https://openalex.org/P4310311721","https://openalex.org/P4310311702"],"host_organization_lineage_names":["Cambridge University Press","University of Cambridge"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.49000000953674316,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2110196404.pdf","grobid_xml":"https://content.openalex.org/works/W2110196404.grobid-xml"},"referenced_works_count":56,"referenced_works":["https://openalex.org/W80198721","https://openalex.org/W1484366641","https://openalex.org/W1536469717","https://openalex.org/W1553136405","https://openalex.org/W1557254125","https://openalex.org/W1560253649","https://openalex.org/W1561824685","https://openalex.org/W1567587382","https://openalex.org/W1578268413","https://openalex.org/W1581498582","https://openalex.org/W1597824249","https://openalex.org/W1720741243","https://openalex.org/W1740526726","https://openalex.org/W1829244603","https://openalex.org/W1874841796","https://openalex.org/W1904607413","https://openalex.org/W1970031091","https://openalex.org/W1970673141","https://openalex.org/W1980302687","https://openalex.org/W1987755707","https://openalex.org/W1989760056","https://openalex.org/W2003298503","https://openalex.org/W2014889169","https://openalex.org/W2022683189","https://openalex.org/W2025431400","https://openalex.org/W2037881889","https://openalex.org/W2048223797","https://openalex.org/W2048569219","https://openalex.org/W2052822938","https://openalex.org/W2053070172","https://openalex.org/W2059054133","https://openalex.org/W2074674709","https://openalex.org/W2102185243","https://openalex.org/W2104204098","https://openalex.org/W2121993468","https://openalex.org/W2125690388","https://openalex.org/W2127600624","https://openalex.org/W2129991479","https://openalex.org/W2133171398","https://openalex.org/W2133639043","https://openalex.org/W2138130168","https://openalex.org/W2145945984","https://openalex.org/W2161017670","https://openalex.org/W2165264979","https://openalex.org/W2167017930","https://openalex.org/W2531351704","https://openalex.org/W2548243341","https://openalex.org/W3016757878","https://openalex.org/W3163573021","https://openalex.org/W4235602992","https://openalex.org/W4242842673","https://openalex.org/W4248352158","https://openalex.org/W6606008182","https://openalex.org/W6637416062","https://openalex.org/W6647726650","https://openalex.org/W6679861010"],"related_works":["https://openalex.org/W2245685274","https://openalex.org/W4229441709","https://openalex.org/W3042312155","https://openalex.org/W2466286953","https://openalex.org/W4387774455","https://openalex.org/W4391047352","https://openalex.org/W4361225863","https://openalex.org/W3021003119","https://openalex.org/W2903948691","https://openalex.org/W2531007217"],"abstract_inverted_index":{"Abstract":[0],"ML":[1,73,120,131],"modules":[2,132,175,189],"are":[3,133],"a":[4,18,69,81,107,135,163,169,230,264],"powerful":[5],"language":[6,156,167,172],"mechanism":[7],"for":[8,20,124,255],"decomposing":[9],"programs":[10],"into":[11,85],"reusable":[12],"components.":[13],"Unfortunately,":[14],"they":[15],"also":[16],"have":[17,46],"reputation":[19,36],"being":[21],"\u201ccomplex\u201d":[22],"and":[23,176,201,213,271,277],"requiring":[24],"fancy":[25],"type":[26],"theory":[27],"that":[28,45,60,130,249,266,284],"is":[29,37,62,232,251,269],"mostly":[30],"opaque":[31],"to":[32,58,105,187],"non-experts.":[33],"While":[34],"this":[35,182],"certainly":[38],"understandable,":[39],"given":[40],"the":[41,50,96,115,147,151,166,185,239],"many":[42],"non-standard":[43],"methodologies":[44],"been":[47],"developed":[48],"in":[49,157,263],"process":[51],"of":[52,72,98,118,138,140,153,165,223,242,281],"studying":[53],"modules,":[54,74],"we":[55,67,102,149,216,247,267],"aim":[56],"here":[57],"demonstrate":[59,95],"it":[61,104,198],"undeserved.":[63],"To":[64,94,145],"do":[65,217],"so,":[66],"present":[68,150],"novel":[70],"formalization":[71],"which":[75],"defines":[76],"their":[77],"semantics":[78,152,265],"directly":[79],"by":[80,161],"compositional":[82],"\u201celaboration\u201d":[83],"translation":[84],"plain":[86],"System":[87,141],"F":[88,142],"\u03c9":[89,143],"(the":[90],"higher-order":[91,109],"polymorphic":[92],"\u03bb-calculus).":[93],"scalability":[97],"our":[99,154],"\u201cF-ing\u201d":[100],"semantics,":[101],"use":[103,139],"define":[106],"representative,":[108],"ML-style":[110],"module":[111,121,155],"language,":[112],"encompassing":[113],"all":[114],"major":[116],"features":[117],"existing":[119],"dialects":[122],"(except":[123],"recursive":[125],"modules).":[126],"We":[127,159,179],"thereby":[128],"show":[129],"merely":[134],"particular":[136],"mode":[137],".":[144],"streamline":[146],"exposition,":[148],"stages.":[158],"begin":[160],"defining":[162],"subset":[164],"supporting":[168],"Standard":[170],"ML-like":[171],"with":[173,184],"second-class":[174],"generative":[177,212],"functors.":[178,259],"then":[180],"extend":[181],"sublanguage":[183],"ability":[186],"package":[188],"as":[190,197],"first-class":[191],"values":[192],"(a":[193],"very":[194],"simple":[195],"extension,":[196],"turns":[199],"out)":[200],"OCaml-style":[202],"applicative":[203,214,233],"functors":[204],"(somewhat":[205],"harder).":[206],"Unlike":[207],"previous":[208,275],"work":[209],"combining":[210],"both":[211],"functors,":[215],"not":[218,235],"require":[219],"two":[220],"distinct":[221],"forms":[222],"functor":[224,231],"or":[225,234],"signature":[226],"sealing.":[227],"Instead,":[228],"whether":[229],"depends":[236],"only":[237],"on":[238],"computational":[240],"purity":[241],"its":[243],"body.":[244],"In":[245],"fact,":[246],"argue":[248],"applicative/generative":[250],"rather":[252],"incidental":[253],"terminology":[254],"pure":[256],"versus":[257],"impure":[258],"This":[260],"approach":[261],"results":[262],"feel":[268],"simpler":[270],"more":[272],"natural":[273],"than":[274],"accounts,":[276],"moreover":[278],"prohibits":[279],"breaches":[280],"abstraction":[282],"safety":[283],"were":[285],"possible":[286],"under":[287],"them.":[288]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":6},{"year":2024,"cited_by_count":5},{"year":2023,"cited_by_count":4},{"year":2021,"cited_by_count":3},{"year":2020,"cited_by_count":4},{"year":2019,"cited_by_count":9},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":3},{"year":2016,"cited_by_count":7},{"year":2015,"cited_by_count":3},{"year":2014,"cited_by_count":1}],"updated_date":"2026-08-24T07:32:12.397491","created_date":"2016-06-24T00:00:00"}
