{"id":"https://openalex.org/W3047089539","doi":"https://doi.org/10.1145/3409000","title":"Sparcl: a language for partially-invertible computation","display_name":"Sparcl: a language for partially-invertible computation","publication_year":2020,"publication_date":"2020-08-02","ids":{"openalex":"https://openalex.org/W3047089539","doi":"https://doi.org/10.1145/3409000","mag":"3047089539"},"language":"en","primary_location":{"id":"doi:10.1145/3409000","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3409000","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3409000","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":"diamond","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3409000","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5004575068","display_name":"Kazutaka Matsuda","orcid":"https://orcid.org/0000-0002-9747-4899"},"institutions":[{"id":"https://openalex.org/I201537933","display_name":"Tohoku University","ror":"https://ror.org/01dq60k83","country_code":"JP","type":"education","lineage":["https://openalex.org/I201537933"]}],"countries":["JP"],"is_corresponding":true,"raw_author_name":"Kazutaka Matsuda","raw_affiliation_strings":["Tohoku University, Japan"],"affiliations":[{"raw_affiliation_string":"Tohoku University, Japan","institution_ids":["https://openalex.org/I201537933"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5074307489","display_name":"Meng Wang","orcid":"https://orcid.org/0000-0001-7780-630X"},"institutions":[{"id":"https://openalex.org/I36234482","display_name":"University of Bristol","ror":"https://ror.org/0524sp257","country_code":"GB","type":"education","lineage":["https://openalex.org/I36234482"]}],"countries":["GB"],"is_corresponding":false,"raw_author_name":"Meng Wang","raw_affiliation_strings":["University of Bristol, UK"],"affiliations":[{"raw_affiliation_string":"University of Bristol, UK","institution_ids":["https://openalex.org/I36234482"]}]}],"institutions":[],"countries_distinct_count":2,"institutions_distinct_count":2,"corresponding_author_ids":["https://openalex.org/A5004575068"],"corresponding_institution_ids":["https://openalex.org/I201537933"],"apc_list":null,"apc_paid":null,"fwci":1.6501,"has_fulltext":true,"cited_by_count":13,"citation_normalized_percentile":{"value":0.83843226,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":94,"max":98},"biblio":{"volume":"4","issue":"ICFP","first_page":"1","last_page":"31"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9995999932289124,"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/T10126","display_name":"Logic, programming, and type systems","score":0.9988999962806702,"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/T12002","display_name":"Computability, Logic, AI Algorithms","score":0.9972000122070312,"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/computer-science","display_name":"Computer science","score":0.7174049019813538},{"id":"https://openalex.org/keywords/invertible-matrix","display_name":"Invertible matrix","score":0.6470354199409485},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5630598068237305},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.5117759108543396},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4485633373260498},{"id":"https://openalex.org/keywords/algebra-over-a-field","display_name":"Algebra over a field","score":0.34536051750183105},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.25696122646331787},{"id":"https://openalex.org/keywords/pure-mathematics","display_name":"Pure mathematics","score":0.11766514182090759}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7174049019813538},{"id":"https://openalex.org/C96442724","wikidata":"https://www.wikidata.org/wiki/Q242188","display_name":"Invertible matrix","level":2,"score":0.6470354199409485},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5630598068237305},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.5117759108543396},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4485633373260498},{"id":"https://openalex.org/C136119220","wikidata":"https://www.wikidata.org/wiki/Q1000660","display_name":"Algebra over a field","level":2,"score":0.34536051750183105},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.25696122646331787},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.11766514182090759}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3409000","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3409000","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3409000","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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:research-information.bris.ac.uk:openaire_cris_publications/3745a521-d764-49bf-99eb-86fcef3f6638","is_oa":true,"landing_page_url":"https://research-information.bris.ac.uk/en/publications/3745a521-d764-49bf-99eb-86fcef3f6638","pdf_url":"https://research-information.bris.ac.uk/files/244902875/ICFP20.pdf","source":{"id":"https://openalex.org/S4306400895","display_name":"Bristol Research (University of Bristol)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I36234482","host_organization_name":"University of Bristol","host_organization_lineage":["https://openalex.org/I36234482"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Matsuda, K & Wang, M 2020, Sparcl : A Language for Partially-Invertible Computation. in Proceedings of the ACM on Programming Languages. vol. 4, 118, 2475-1421, New York, pp. 1-31. https://doi.org/10.1145/3409000","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:research-information.bris.ac.uk:publications/3745a521-d764-49bf-99eb-86fcef3f6638","is_oa":true,"landing_page_url":"https://hdl.handle.net/1983/3745a521-d764-49bf-99eb-86fcef3f6638","pdf_url":"https://research-information.bris.ac.uk/ws/files/244902875/ICFP20.pdf","source":{"id":"https://openalex.org/S4306400895","display_name":"Bristol Research (University of Bristol)","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I36234482","host_organization_name":"University of Bristol","host_organization_lineage":["https://openalex.org/I36234482"],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"","raw_type":""}],"best_oa_location":{"id":"doi:10.1145/3409000","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3409000","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3409000","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":true,"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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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/G1069223013","display_name":null,"funder_award_id":"JSPS KAKENHI","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G2828224010","display_name":null,"funder_award_id":"15H02681, 19K11892, 20H04161, JPJSBP120199913","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G3226508739","display_name":"Combining Unidirectional and Bidirectional Programming","funder_award_id":"19K11892","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G3459562248","display_name":null,"funder_award_id":"Grant","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G3661096261","display_name":null,"funder_award_id":"IES\\R3\\170104","funder_id":"https://openalex.org/F4320320006","funder_display_name":"Royal Society"},{"id":"https://openalex.org/G3892558182","display_name":"EXHIBIT : Expressive High-Level Languages for Bidirectional Transformations","funder_award_id":"EP/T008911/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G4227499671","display_name":null,"funder_award_id":"KAKENHI Grant","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G4636223006","display_name":null,"funder_award_id":"JSPS KAK","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G5490890917","display_name":"\u30c6\u30ec\u30d3\u306b\u3088\u308b\u6551\u6025\u60a3\u8005\u7ba1\u7406\u6a5f\u5668\u306e\u8a66\u4f5c","funder_award_id":"70104","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G5786340949","display_name":null,"funder_award_id":"KAKENHI Grant Number","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G6237854213","display_name":null,"funder_award_id":"JPJSBP1","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G7146533649","display_name":null,"funder_award_id":"JPJSBP120","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G7583192215","display_name":null,"funder_award_id":"EP/T008911/1","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"id":"https://openalex.org/G8251350064","display_name":null,"funder_award_id":"15H02681","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G8430481527","display_name":null,"funder_award_id":"Number","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"},{"id":"https://openalex.org/G909350684","display_name":"\u7530\u690d\u6b4c\u3068\u7530\u690d\u306e\u6c11\u4fd7\u306e\u7814\u7a76","funder_award_id":"12019","funder_id":"https://openalex.org/F4320334764","funder_display_name":"Japan Society for the Promotion of Science"}],"funders":[{"id":"https://openalex.org/F4320315567","display_name":"Kayamori Foundation of Informational Science","ror":null},{"id":"https://openalex.org/F4320315724","display_name":"Kayamori Foundation of Informational Science Advancement","ror":null},{"id":"https://openalex.org/F4320320006","display_name":"Royal Society","ror":"https://ror.org/03wnrjx87"},{"id":"https://openalex.org/F4320334627","display_name":"Engineering and Physical Sciences Research Council","ror":"https://ror.org/0439y7842"},{"id":"https://openalex.org/F4320334764","display_name":"Japan Society for the Promotion of Science","ror":"https://ror.org/00hhkn466"}],"has_content":{"grobid_xml":true,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3047089539.pdf","grobid_xml":"https://content.openalex.org/works/W3047089539.grobid-xml"},"referenced_works_count":60,"referenced_works":["https://openalex.org/W102566742","https://openalex.org/W159517077","https://openalex.org/W175712399","https://openalex.org/W1486945548","https://openalex.org/W1499136777","https://openalex.org/W1506888682","https://openalex.org/W1529830543","https://openalex.org/W1540138108","https://openalex.org/W1556604985","https://openalex.org/W1563548877","https://openalex.org/W1570178357","https://openalex.org/W1608933122","https://openalex.org/W1795192467","https://openalex.org/W1884126869","https://openalex.org/W1973667838","https://openalex.org/W1992085465","https://openalex.org/W1998594782","https://openalex.org/W2000616678","https://openalex.org/W2013616027","https://openalex.org/W2015392385","https://openalex.org/W2019962118","https://openalex.org/W2029408547","https://openalex.org/W2046832714","https://openalex.org/W2072645606","https://openalex.org/W2073378225","https://openalex.org/W2074802267","https://openalex.org/W2084000566","https://openalex.org/W2092546644","https://openalex.org/W2096885339","https://openalex.org/W2102357532","https://openalex.org/W2103463094","https://openalex.org/W2105259569","https://openalex.org/W2105450475","https://openalex.org/W2115810994","https://openalex.org/W2116813111","https://openalex.org/W2121357705","https://openalex.org/W2125146300","https://openalex.org/W2128992690","https://openalex.org/W2151592950","https://openalex.org/W2157601714","https://openalex.org/W2161616972","https://openalex.org/W2166159458","https://openalex.org/W2510433231","https://openalex.org/W2531051632","https://openalex.org/W2574983198","https://openalex.org/W2766220735","https://openalex.org/W2796830478","https://openalex.org/W2885852056","https://openalex.org/W2888402443","https://openalex.org/W2889867746","https://openalex.org/W2921038879","https://openalex.org/W3022512114","https://openalex.org/W3105690832","https://openalex.org/W3121479906","https://openalex.org/W3150082626","https://openalex.org/W4231368424","https://openalex.org/W4233798822","https://openalex.org/W4412267756","https://openalex.org/W6604132783","https://openalex.org/W6606551168"],"related_works":["https://openalex.org/W1511249877","https://openalex.org/W2466303427","https://openalex.org/W1578828174","https://openalex.org/W2000943029","https://openalex.org/W2950376466","https://openalex.org/W2293004035","https://openalex.org/W18781025","https://openalex.org/W188034648","https://openalex.org/W2952519015","https://openalex.org/W2155728227"],"abstract_inverted_index":{"Invertibility":[0],"is":[1,38,72,133,138,156,180],"a":[2,49,120,128,139,154,184],"fundamental":[3],"concept":[4],"in":[5,11,127,151],"computer":[6],"science,":[7],"with":[8,166,228],"various":[9],"manifestations":[10],"software":[12],"development":[13],"(serializer/deserializer,":[14],"parser/printer,":[15],"redo/undo,":[16],"compressor/decompressor,":[17],"and":[18,108,136,171,182,196,207,212,235,238],"so":[19],"on).":[20],"Full":[21],"invertibility":[22,174,218],"necessarily":[23],"requires":[24],"bijectivity,":[25],"but":[26],"the":[27,81,95,114,134,167,203,210,224],"direct":[28],"approach":[29,51],"of":[30,62,70,80,98,209,226],"composing":[31],"bijective":[32],"functions":[33,126],"to":[34,41,157,164,187,193],"develop":[35,119],"invertible":[36,59,76,168,194],"programs":[37],"too":[39],"restrictive":[40],"be":[42],"useful.":[43],"In":[44],"this":[45,110],"paper,":[46],"we":[47],"take":[48],"different":[50],"by":[52,175],"focusing":[53],"on":[54],"partially-invertible":[55],"functions\u2014functions":[56],"that":[57,190,198,214],"become":[58],"if":[60],"some":[61],"their":[63],"arguments":[64],"are":[65,191,199],"fixed.":[66],"The":[67,149,177],"simplest":[68],"example":[69],"such":[71,104,125,153],"addition,":[73],"which":[74,93],"becomes":[75],"when":[77],"fixing":[78,109],"one":[79],"operands.":[82],"More":[83],"involved":[84],"examples":[85,229],"include":[86],"entropy-based":[87],"compression":[88,115],"methods":[89,116],"(e.g.,":[90],"Huffman":[91,106,239],"coding),":[92],"carry":[94],"occurrence":[96],"frequency":[97,111],"input":[99],"symbols":[100],"(in":[101],"certain":[102],"formats":[103],"as":[105],"tree),":[107],"information":[112],"makes":[113],"invertible.":[117],"We":[118,201,222],"language":[121,155,178],"Sparcl":[122,179,215,227],"for":[123,219],"programming":[124,160],"natural":[129],"way,":[130],"where":[131],"partial-invertibility":[132],"norm":[135],"bijectivity":[137],"special":[140],"case,":[141],"hence":[142],"gaining":[143],"significant":[144],"expressiveness":[145,225],"without":[146],"compromising":[147],"correctness.":[148],"challenge":[150],"designing":[152],"allow":[158],"ordinary":[159],"(the":[161],"\u201cpartially\u201d":[162],"part)":[163],"interact":[165],"part":[169],"freely,":[170],"yet":[172],"guarantee":[173],"construction.":[176],"linear-typed,":[181],"has":[183],"type":[185,205],"constructor":[186],"distinguish":[188],"data":[189],"subject":[192],"computation":[195],"those":[197],"not.":[200],"present":[202],"syntax,":[204],"system,":[206],"semantics":[208],"language,":[211],"prove":[213],"correctly":[216],"guarantees":[217],"its":[220],"programs.":[221],"demonstrate":[223],"including":[230],"tree":[231],"rebuilding":[232],"from":[233],"preorder":[234],"inorder":[236],"traversals":[237],"coding.":[240]},"counts_by_year":[{"year":2024,"cited_by_count":6},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":3}],"updated_date":"2026-04-13T07:58:08.660418","created_date":"2025-10-10T00:00:00"}
