{"id":"https://openalex.org/W2729916207","doi":"https://doi.org/10.1145/3110286","title":"Constrained type families","display_name":"Constrained type families","publication_year":2017,"publication_date":"2017-08-29","ids":{"openalex":"https://openalex.org/W2729916207","doi":"https://doi.org/10.1145/3110286","mag":"2729916207"},"language":"en","primary_location":{"id":"doi:10.1145/3110286","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110286","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110286&type=pdf","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":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3110286&type=pdf","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"J. Garrett Morris","orcid":null},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"J. Garrett Morris","raw_affiliation_strings":["University of Edinburgh, UK"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"University of Edinburgh, UK","institution_ids":["https://openalex.org/I98677209"]}]},{"author_position":"last","author":{"id":null,"display_name":"Richard A. Eisenberg","orcid":null},"institutions":[{"id":"https://openalex.org/I102373834","display_name":"Bryn Mawr College","ror":"https://ror.org/05sjwtp51","country_code":"US","type":"education","lineage":["https://openalex.org/I102373834"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Richard A. Eisenberg","raw_affiliation_strings":["Bryn Mawr College, USA"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Bryn Mawr College, USA","institution_ids":["https://openalex.org/I102373834"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.4546,"has_fulltext":true,"cited_by_count":4,"citation_normalized_percentile":{"value":0.74875657,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":96},"biblio":{"volume":"1","issue":"ICFP","first_page":"1","last_page":"28"},"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.9833999872207642,"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.9833999872207642,"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/T11986","display_name":"Scientific Computing and Data Management","score":0.0017999999690800905,"subfield":{"id":"https://openalex.org/subfields/1802","display_name":"Information Systems and Management"},"field":{"id":"https://openalex.org/fields/18","display_name":"Decision Sciences"},"domain":{"id":"https://openalex.org/domains/2","display_name":"Social Sciences"}},{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.0013000000035390258,"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/haskell","display_name":"Haskell","score":0.8327000141143799},{"id":"https://openalex.org/keywords/metatheory","display_name":"Metatheory","score":0.8173999786376953},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.7257000207901001},{"id":"https://openalex.org/keywords/dependent-type","display_name":"Dependent type","score":0.6464999914169312},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.6141999959945679},{"id":"https://openalex.org/keywords/computation","display_name":"Computation","score":0.5806000232696533},{"id":"https://openalex.org/keywords/type-theory","display_name":"Type theory","score":0.4691999852657318}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.8327000141143799},{"id":"https://openalex.org/C39387531","wikidata":"https://www.wikidata.org/wiki/Q1096708","display_name":"Metatheory","level":2,"score":0.8173999786376953},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.7257000207901001},{"id":"https://openalex.org/C20528804","wikidata":"https://www.wikidata.org/wiki/Q997433","display_name":"Dependent type","level":3,"score":0.6464999914169312},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.6141999959945679},{"id":"https://openalex.org/C45374587","wikidata":"https://www.wikidata.org/wiki/Q12525525","display_name":"Computation","level":2,"score":0.5806000232696533},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.574400007724762},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5544999837875366},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.5134000182151794},{"id":"https://openalex.org/C93682546","wikidata":"https://www.wikidata.org/wiki/Q1056428","display_name":"Type theory","level":3,"score":0.4691999852657318},{"id":"https://openalex.org/C2776436953","wikidata":"https://www.wikidata.org/wiki/Q5163215","display_name":"Consistency (knowledge bases)","level":2,"score":0.4219000041484833},{"id":"https://openalex.org/C148043351","wikidata":"https://www.wikidata.org/wiki/Q4456944","display_name":"Current (fluid)","level":2,"score":0.397599995136261},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.38420000672340393},{"id":"https://openalex.org/C44779574","wikidata":"https://www.wikidata.org/wiki/Q736866","display_name":"Type safety","level":2,"score":0.3472999930381775},{"id":"https://openalex.org/C198370458","wikidata":"https://www.wikidata.org/wiki/Q586459","display_name":"Type inference","level":3,"score":0.32429999113082886},{"id":"https://openalex.org/C138958017","wikidata":"https://www.wikidata.org/wiki/Q190087","display_name":"Data type","level":2,"score":0.30820000171661377},{"id":"https://openalex.org/C2779478453","wikidata":"https://www.wikidata.org/wiki/Q6889748","display_name":"Modularity (biology)","level":2,"score":0.30469998717308044},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.2827000021934509},{"id":"https://openalex.org/C168065819","wikidata":"https://www.wikidata.org/wiki/Q845566","display_name":"Debugging","level":2,"score":0.26350000500679016},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.2529999911785126}],"mesh":[],"locations_count":5,"locations":[{"id":"doi:10.1145/3110286","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110286","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110286&type=pdf","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:arXiv.org:1706.09715","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1706.09715","pdf_url":"https://arxiv.org/pdf/1706.09715","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":"2331-8422","issn":["2331-8422"],"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},{"id":"pmh:oai:repository.brynmawr.edu:compsci_pubs-1075","is_oa":false,"landing_page_url":"https://repository.brynmawr.edu/compsci_pubs/77","pdf_url":null,"source":{"id":"https://openalex.org/S4306401763","display_name":"Scholarship, Research, and Creative Work at Bryn Mawr College (Bryn Mawr College)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I102373834","host_organization_name":"Bryn Mawr College","host_organization_lineage":["https://openalex.org/I102373834"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Computer Science Faculty Research and Scholarship","raw_type":"text"},{"id":"pmh:oai:kuscholarworks.ku.edu:1808/25014","is_oa":false,"landing_page_url":"http://hdl.handle.net/1808/25014","pdf_url":null,"source":{"id":"https://openalex.org/S4306400421","display_name":"KU ScholarWorks (The University of Kansas)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I146416000","host_organization_name":"University of Kansas","host_organization_lineage":["https://openalex.org/I146416000"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":"Article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/6b017a8e-aaa8-4ee1-b12d-71e04ed5e986","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/6b017a8e-aaa8-4ee1-b12d-71e04ed5e986","pdf_url":null,"source":{"id":"https://openalex.org/S4306400321","display_name":"Edinburgh Research Explorer (University of Edinburgh)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I98677209","host_organization_name":"University of Edinburgh","host_organization_lineage":["https://openalex.org/I98677209"],"host_organization_lineage_names":[],"type":"repository"},"license":"other-oa","license_id":"https://openalex.org/licenses/other-oa","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Morris, J G & Eisenberg, R A 2017, Constrained Type Families. in 22nd ACM SIGPLAN International Conference on Functional Programming.. vol. 1, 42, 22nd ACM SIGPLAN International Conference on Functional Programming, Oxford, United Kingdom, 3/09/17. https://doi.org/10.1145/3110286","raw_type":"info:eu-repo/semantics/conferenceObject"}],"best_oa_location":{"id":"doi:10.1145/3110286","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110286","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110286&type=pdf","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":[],"awards":[{"id":"https://openalex.org/G1798638720","display_name":"From Data Types to Session Types---A Basis for Concurrency and Distribution","funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G7918631928","display_name":null,"funder_award_id":"EP/K034413/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"}],"funders":[{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"}],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2729916207.pdf","grobid_xml":"https://content.openalex.org/works/W2729916207.grobid-xml"},"referenced_works_count":28,"referenced_works":["https://openalex.org/W981129589","https://openalex.org/W1554068457","https://openalex.org/W1594279870","https://openalex.org/W1595372275","https://openalex.org/W1993129359","https://openalex.org/W2015617966","https://openalex.org/W2026323010","https://openalex.org/W2039211229","https://openalex.org/W2058162377","https://openalex.org/W2059895047","https://openalex.org/W2091470061","https://openalex.org/W2095136535","https://openalex.org/W2104644663","https://openalex.org/W2107214848","https://openalex.org/W2112474400","https://openalex.org/W2125690388","https://openalex.org/W2129777450","https://openalex.org/W2134394225","https://openalex.org/W2140216155","https://openalex.org/W2144538202","https://openalex.org/W2152006556","https://openalex.org/W2163552400","https://openalex.org/W2494122154","https://openalex.org/W2500959965","https://openalex.org/W2514073179","https://openalex.org/W4213090963","https://openalex.org/W4237270226","https://openalex.org/W4252649616"],"related_works":[],"abstract_inverted_index":{"We":[0,68],"present":[1,102],"an":[2,70],"approach":[3,87],"to":[4,76],"support":[5],"partiality":[6,92],"in":[7,32],"type-level":[8,19,41,78],"computation":[9,20],"without":[10],"compromising":[11],"expressiveness":[12],"or":[13,24],"type":[14,30,50,63,94,114],"safety.":[15],"Existing":[16],"frameworks":[17],"for":[18,109],"either":[21],"require":[22],"totality":[23],"implicitly":[25,47],"assume":[26],"it.":[27],"For":[28],"example,":[29],"families":[31,51,64],"Haskell":[33],"provide":[34],"a":[35,110],"powerful,":[36],"modular":[37],"means":[38],"of":[39,62,93,107],"defining":[40],"computation.":[42],"However,":[43],"their":[44,66,84,97],"current":[45],"design":[46],"assumes":[48],"that":[49,82],"are":[52],"total,":[53],"introducing":[54],"nonsensical":[55],"types":[56,75],"and":[57,65],"significantly":[58],"complicating":[59],"the":[60,90,103],"metatheory":[61],"extensions.":[67],"propose":[69],"alternative":[71],"design,":[72],"using":[73],"qualified":[74],"pair":[77],"computations":[79],"with":[80,112],"predicates":[81],"capture":[83],"domains.":[85],"Our":[86],"naturally":[88],"captures":[89],"intuitive":[91],"families,":[95],"simplifying":[96],"metatheory.":[98],"As":[99],"evidence,":[100],"we":[101],"first":[104],"complete":[105],"proof":[106],"consistency":[108],"language":[111],"closed":[113],"families.":[115]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2019,"cited_by_count":2}],"updated_date":"2026-08-05T07:39:15.569665","created_date":"2017-07-14T00:00:00"}
