{"id":"https://openalex.org/W3046590812","doi":"https://doi.org/10.1145/3406088.3409015","title":"Stitch: the sound type-indexed type checker (functional pearl)","display_name":"Stitch: the sound type-indexed type checker (functional pearl)","publication_year":2020,"publication_date":"2020-07-31","ids":{"openalex":"https://openalex.org/W3046590812","doi":"https://doi.org/10.1145/3406088.3409015","mag":"3046590812"},"language":"en","primary_location":{"id":"doi:10.1145/3406088.3409015","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3406088.3409015","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5082913747","display_name":"Richard A. Eisenberg","orcid":"https://orcid.org/0000-0002-7669-9781"},"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":true,"raw_author_name":"Richard A. Eisenberg","raw_affiliation_strings":["Tweag I/O, France / Bryn Mawr College, USA"],"affiliations":[{"raw_affiliation_string":"Tweag I/O, France / Bryn Mawr College, USA","institution_ids":["https://openalex.org/I102373834"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5082913747"],"corresponding_institution_ids":["https://openalex.org/I102373834"],"apc_list":null,"apc_paid":null,"fwci":0.3977,"has_fulltext":false,"cited_by_count":5,"citation_normalized_percentile":{"value":0.6843165,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":95},"biblio":{"volume":null,"issue":null,"first_page":"39","last_page":"53"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9968000054359436,"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"}},{"id":"https://openalex.org/T10142","display_name":"Formal Methods in Verification","score":0.9959999918937683,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/haskell","display_name":"Haskell","score":0.9848411083221436},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8424453735351562},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.8145596981048584},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.7691428661346436},{"id":"https://openalex.org/keywords/executable","display_name":"Executable","score":0.7032177448272705},{"id":"https://openalex.org/keywords/pearl","display_name":"Pearl","score":0.6511088013648987},{"id":"https://openalex.org/keywords/interpreter","display_name":"Interpreter","score":0.641556978225708},{"id":"https://openalex.org/keywords/parsing","display_name":"Parsing","score":0.5845386981964111},{"id":"https://openalex.org/keywords/type","display_name":"Type (biology)","score":0.5500258207321167}],"concepts":[{"id":"https://openalex.org/C2780624054","wikidata":"https://www.wikidata.org/wiki/Q34010","display_name":"Haskell","level":3,"score":0.9848411083221436},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8424453735351562},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.8145596981048584},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.7691428661346436},{"id":"https://openalex.org/C160145156","wikidata":"https://www.wikidata.org/wiki/Q778586","display_name":"Executable","level":2,"score":0.7032177448272705},{"id":"https://openalex.org/C2779251273","wikidata":"https://www.wikidata.org/wiki/Q43436","display_name":"Pearl","level":2,"score":0.6511088013648987},{"id":"https://openalex.org/C122783720","wikidata":"https://www.wikidata.org/wiki/Q183065","display_name":"Interpreter","level":2,"score":0.641556978225708},{"id":"https://openalex.org/C186644900","wikidata":"https://www.wikidata.org/wiki/Q194152","display_name":"Parsing","level":2,"score":0.5845386981964111},{"id":"https://openalex.org/C2777299769","wikidata":"https://www.wikidata.org/wiki/Q3707858","display_name":"Type (biology)","level":2,"score":0.5500258207321167},{"id":"https://openalex.org/C27206212","wikidata":"https://www.wikidata.org/wiki/Q34178","display_name":"Theology","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/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3406088.3409015","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3406088.3409015","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 13th ACM SIGPLAN International Symposium on Haskell","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[{"id":"https://openalex.org/G1846149676","display_name":null,"funder_award_id":"1704041","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":false,"pdf":false},"content_urls":null,"referenced_works_count":37,"referenced_works":["https://openalex.org/W1492124994","https://openalex.org/W1551531572","https://openalex.org/W1557561422","https://openalex.org/W1563382076","https://openalex.org/W1984514567","https://openalex.org/W1997354605","https://openalex.org/W2003131168","https://openalex.org/W2007492338","https://openalex.org/W2023970190","https://openalex.org/W2027584005","https://openalex.org/W2028880435","https://openalex.org/W2031442766","https://openalex.org/W2066038668","https://openalex.org/W2069858276","https://openalex.org/W2082765113","https://openalex.org/W2093896470","https://openalex.org/W2096529083","https://openalex.org/W2104299410","https://openalex.org/W2114980032","https://openalex.org/W2123092976","https://openalex.org/W2131916293","https://openalex.org/W2145108549","https://openalex.org/W2145735530","https://openalex.org/W2255732237","https://openalex.org/W2296133386","https://openalex.org/W2505732535","https://openalex.org/W2564250199","https://openalex.org/W2564286502","https://openalex.org/W2568721247","https://openalex.org/W2736423681","https://openalex.org/W2751718667","https://openalex.org/W2751791540","https://openalex.org/W2884724299","https://openalex.org/W4212957569","https://openalex.org/W4246703569","https://openalex.org/W4255638184","https://openalex.org/W4294254159"],"related_works":["https://openalex.org/W1602185604","https://openalex.org/W2112263414","https://openalex.org/W1489609867","https://openalex.org/W3004782279","https://openalex.org/W2028779182","https://openalex.org/W2140654465","https://openalex.org/W2129253059","https://openalex.org/W1590310444","https://openalex.org/W1524436860","https://openalex.org/W4296274916"],"abstract_inverted_index":{"A":[0],"classic":[1],"example":[2],"of":[3,6,34,60,88],"the":[4,17,65,86,100,110],"power":[5],"generalized":[7],"algebraic":[8],"datatypes":[9],"(GADTs)":[10],"to":[11,108],"verify":[12],"a":[13,43,48,55,92],"delicate":[14],"implementation":[15,67],"is":[16,42,68,82],"type-indexed":[18],"expression":[19],"AST.":[20],"This":[21],"functional":[22],"pearl":[23],"refreshes":[24],"this":[25],"example,":[26],"casting":[27],"it":[28],"in":[29,91],"modern":[30],"Haskell":[31,70],"using":[32],"many":[33],"GHC's":[35],"bells":[36],"and":[37,54,62,72],"whistles.":[38],"The":[39,95],"Stitch":[40,66],"interpreter":[41],"full":[44],"executable":[45],"interpreter,":[46],"with":[47],"parser,":[49],"type":[50,63,80],"checker,":[51],"common-subexpression":[52],"elimination,":[53],"REPL.":[56],"Making":[57],"heavy":[58],"use":[59,87],"GADTs":[61],"indices,":[64],"clean":[69],"code":[71],"serves":[73],"as":[74],"an":[75],"existence":[76],"proof":[77],"that":[78],"Haskell's":[79],"system":[81],"advanced":[83,104],"enough":[84],"for":[85],"fancy":[89],"types":[90],"practical":[93],"setting.":[94],"paper":[96],"focuses":[97],"on":[98],"guiding":[99],"reader":[101],"through":[102],"these":[103],"topics,":[105],"enabling":[106],"them":[107],"adopt":[109],"techniques":[111],"demonstrated":[112],"here.":[113]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":1},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":2}],"updated_date":"2025-11-06T03:46:38.306776","created_date":"2025-10-10T00:00:00"}
