{"id":"https://openalex.org/W4391259573","doi":"https://doi.org/10.1017/s0956796823000126","title":"<scp>Sparcl</scp>: A language for partially invertible computation","display_name":"<scp>Sparcl</scp>: A language for partially invertible computation","publication_year":2024,"publication_date":"2024-01-01","ids":{"openalex":"https://openalex.org/W4391259573","doi":"https://doi.org/10.1017/s0956796823000126"},"language":"en","primary_location":{"id":"doi:10.1017/s0956796823000126","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796823000126","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/809BDECF87B3748ED960FEFD42498BBE/S0956796823000126a.pdf/div-class-title-span-class-sc-sparcl-span-a-language-for-partially-invertible-computation-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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","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":"hybrid","oa_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/809BDECF87B3748ED960FEFD42498BBE/S0956796823000126a.pdf/div-class-title-span-class-sc-sparcl-span-a-language-for-partially-invertible-computation-div.pdf","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, 6-3-09 Aramaki, Aza-Aoba, Aoba-ku, Sendai, Japan (e-mail:"],"affiliations":[{"raw_affiliation_string":"Tohoku University, 6-3-09 Aramaki, Aza-Aoba, Aoba-ku, Sendai, Japan (e-mail:","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, BS8 1TH, Bristol, UK (e-mail:"],"affiliations":[{"raw_affiliation_string":"University of Bristol, BS8 1TH, Bristol, UK (e-mail:","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.4418,"has_fulltext":true,"cited_by_count":3,"citation_normalized_percentile":{"value":0.78959163,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":96,"max":97},"biblio":{"volume":"34","issue":null,"first_page":null,"last_page":null},"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.9991999864578247,"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.9991999864578247,"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.9986000061035156,"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/T11269","display_name":"Algorithms and Data Compression","score":0.9961000084877014,"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/computer-science","display_name":"Computer science","score":0.8208855986595154},{"id":"https://openalex.org/keywords/invertible-matrix","display_name":"Invertible matrix","score":0.600488543510437},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5710012316703796},{"id":"https://openalex.org/keywords/theoretical-computer-science","display_name":"Theoretical computer science","score":0.4719392657279968},{"id":"https://openalex.org/keywords/huffman-coding","display_name":"Huffman coding","score":0.4517129063606262},{"id":"https://openalex.org/keywords/soundness","display_name":"Soundness","score":0.43047627806663513},{"id":"https://openalex.org/keywords/arithmetic","display_name":"Arithmetic","score":0.33004090189933777},{"id":"https://openalex.org/keywords/algorithm","display_name":"Algorithm","score":0.3235257863998413},{"id":"https://openalex.org/keywords/data-compression","display_name":"Data compression","score":0.25809037685394287},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.16062569618225098}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8208855986595154},{"id":"https://openalex.org/C96442724","wikidata":"https://www.wikidata.org/wiki/Q242188","display_name":"Invertible matrix","level":2,"score":0.600488543510437},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5710012316703796},{"id":"https://openalex.org/C80444323","wikidata":"https://www.wikidata.org/wiki/Q2878974","display_name":"Theoretical computer science","level":1,"score":0.4719392657279968},{"id":"https://openalex.org/C46900642","wikidata":"https://www.wikidata.org/wiki/Q2647","display_name":"Huffman coding","level":3,"score":0.4517129063606262},{"id":"https://openalex.org/C39920170","wikidata":"https://www.wikidata.org/wiki/Q693083","display_name":"Soundness","level":2,"score":0.43047627806663513},{"id":"https://openalex.org/C94375191","wikidata":"https://www.wikidata.org/wiki/Q11205","display_name":"Arithmetic","level":1,"score":0.33004090189933777},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.3235257863998413},{"id":"https://openalex.org/C78548338","wikidata":"https://www.wikidata.org/wiki/Q2493","display_name":"Data compression","level":2,"score":0.25809037685394287},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.16062569618225098},{"id":"https://openalex.org/C202444582","wikidata":"https://www.wikidata.org/wiki/Q837863","display_name":"Pure mathematics","level":1,"score":0.0}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1017/s0956796823000126","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796823000126","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/809BDECF87B3748ED960FEFD42498BBE/S0956796823000126a.pdf/div-class-title-span-class-sc-sparcl-span-a-language-for-partially-invertible-computation-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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","raw_type":"journal-article"},{"id":"pmh:oai:research-information.bris.ac.uk:openaire/c4a4db34-b3ff-4b30-8200-3a1acfe331a6","is_oa":true,"landing_page_url":"https://research-information.bris.ac.uk/en/publications/c4a4db34-b3ff-4b30-8200-3a1acfe331a6","pdf_url":null,"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":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Matsuda, K & Wang, M 2024, 'Sparcl : A language for partially invertible computation', Journal of Functional Programming, vol. 34, e2. https://doi.org/10.1017/S0956796823000126","raw_type":"info:eu-repo/semantics/publishedVersion"}],"best_oa_location":{"id":"doi:10.1017/s0956796823000126","is_oa":true,"landing_page_url":"https://doi.org/10.1017/s0956796823000126","pdf_url":"https://www.cambridge.org/core/services/aop-cambridge-core/content/view/809BDECF87B3748ED960FEFD42498BBE/S0956796823000126a.pdf/div-class-title-span-class-sc-sparcl-span-a-language-for-partially-invertible-computation-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":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Journal of Functional Programming","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/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/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/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/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/G8452545418","display_name":null,"funder_award_id":"unknown","funder_id":"https://openalex.org/F4320334627","funder_display_name":"Engineering and Physical Sciences Research Council"},{"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/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":false,"pdf":true},"content_urls":{"pdf":"https://content.openalex.org/works/W4391259573.pdf"},"referenced_works_count":77,"referenced_works":["https://openalex.org/W175712399","https://openalex.org/W1484598194","https://openalex.org/W1486945548","https://openalex.org/W1499136777","https://openalex.org/W1506888682","https://openalex.org/W1529830543","https://openalex.org/W1540138108","https://openalex.org/W1551706119","https://openalex.org/W1570178357","https://openalex.org/W1795192467","https://openalex.org/W1884126869","https://openalex.org/W1972376146","https://openalex.org/W1973667838","https://openalex.org/W1992085465","https://openalex.org/W1998594782","https://openalex.org/W2000616678","https://openalex.org/W2015392385","https://openalex.org/W2019962118","https://openalex.org/W2024914463","https://openalex.org/W2029408547","https://openalex.org/W2069858276","https://openalex.org/W2072645606","https://openalex.org/W2073378225","https://openalex.org/W2074802267","https://openalex.org/W2084000566","https://openalex.org/W2096885339","https://openalex.org/W2102357532","https://openalex.org/W2103463094","https://openalex.org/W2105259569","https://openalex.org/W2105427466","https://openalex.org/W2105450475","https://openalex.org/W2107745473","https://openalex.org/W2115810994","https://openalex.org/W2116508343","https://openalex.org/W2116813111","https://openalex.org/W2118351936","https://openalex.org/W2121357705","https://openalex.org/W2127114597","https://openalex.org/W2128992690","https://openalex.org/W2136677980","https://openalex.org/W2136765833","https://openalex.org/W2145029935","https://openalex.org/W2145862486","https://openalex.org/W2151592950","https://openalex.org/W2157601714","https://openalex.org/W2161616972","https://openalex.org/W2166159458","https://openalex.org/W2405473378","https://openalex.org/W2493559803","https://openalex.org/W2498748945","https://openalex.org/W2531051632","https://openalex.org/W2792585849","https://openalex.org/W2796830478","https://openalex.org/W2885852056","https://openalex.org/W2888402443","https://openalex.org/W2889867746","https://openalex.org/W2921038879","https://openalex.org/W3006122065","https://openalex.org/W3013964916","https://openalex.org/W3018857170","https://openalex.org/W3022512114","https://openalex.org/W3047089539","https://openalex.org/W3089106052","https://openalex.org/W3114657538","https://openalex.org/W3121479906","https://openalex.org/W3139906032","https://openalex.org/W3150082626","https://openalex.org/W4214512709","https://openalex.org/W4231368424","https://openalex.org/W4233798822","https://openalex.org/W4238949052","https://openalex.org/W4239420709","https://openalex.org/W4242423436","https://openalex.org/W4243125208","https://openalex.org/W4245974437","https://openalex.org/W6713551134","https://openalex.org/W6755947240"],"related_works":["https://openalex.org/W2466303427","https://openalex.org/W1511249877","https://openalex.org/W1578828174","https://openalex.org/W2950376466","https://openalex.org/W2000943029","https://openalex.org/W2621980927","https://openalex.org/W4302559785","https://openalex.org/W4226437312","https://openalex.org/W2140496290","https://openalex.org/W2949331520"],"abstract_inverted_index":{"Abstract":[0],"Invertibility":[1],"is":[2,39,74,136,141,159,183],"a":[3,50,122,130,142,157,187],"fundamental":[4],"concept":[5],"in":[6,12,129,154],"computer":[7],"science,":[8],"with":[9,169,231],"various":[10],"manifestations":[11],"software":[13],"development":[14],"(serializer/deserializer,":[15],"parser/printer,":[16],"redo/undo,":[17],"compressor/decompressor,":[18],"and":[19,110,139,174,185,199,210,215,238,245],"so":[20],"on).":[21],"Full":[22],"invertibility":[23,135,177,221],"necessarily":[24],"requires":[25],"bijectivity,":[26],"but":[27],"the":[28,83,97,116,137,170,206,213,227],"direct":[29],"approach":[30,52],"of":[31,64,72,82,100,212,229],"composing":[32],"bijective":[33],"functions":[34,128],"to":[35,42,160,167,190,196],"develop":[36,121],"invertible":[37,57,61,78,171,197],"programs":[38],"too":[40],"restrictive":[41],"be":[43],"useful.":[44],"In":[45],"this":[46,112],"paper,":[47],"we":[48],"take":[49],"different":[51],"by":[53,178],"focusing":[54],"on":[55],"partially":[56],"functions\u2014functions":[58],"that":[59,193,201,217],"become":[60],"if":[62],"some":[63],"their":[65],"arguments":[66],"are":[67,194,202],"fixed.":[68],"The":[69,152,180],"simplest":[70],"example":[71],"such":[73,106,127,156],"addition,":[75],"which":[76,95],"becomes":[77],"when":[79],"fixing":[80,111],"one":[81],"operands.":[84],"More":[85],"involved":[86],"examples":[87,232],"include":[88],"entropy-based":[89],"compression":[90,117],"methods":[91,118],"(e.g.,":[92],"Huffman":[93,108,241],"coding),":[94],"carry":[96],"occurrence":[98],"frequency":[99,113],"input":[101],"symbols":[102],"(in":[103],"certain":[104],"formats":[105],"as":[107],"tree),":[109],"information":[114],"makes":[115],"invertible.":[119],"We":[120,204,225],"language":[123,158,181,214],"Sparcl":[124,182,218,230],"for":[125,222],"programming":[126,163],"natural":[131],"way,":[132],"where":[133],"partial":[134],"norm":[138],"bijectivity":[140],"special":[143],"case,":[144],"hence":[145],"gaining":[146],"significant":[147],"expressiveness":[148,228],"without":[149],"compromising":[150],"correctness.":[151],"challenge":[153],"designing":[155],"allow":[161],"ordinary":[162],"(the":[164],"\u201cpartially\u201d":[165],"part)":[166],"interact":[168],"part":[172],"freely,":[173],"yet":[175],"guarantee":[176],"construction.":[179],"linear-typed":[184],"has":[186],"type":[188,208],"constructor":[189],"distinguish":[191],"data":[192],"subject":[195],"computation":[198],"those":[200],"not.":[203],"present":[205],"syntax,":[207],"system,":[209],"semantics":[211],"prove":[216],"correctly":[219],"guarantees":[220],"its":[223],"programs.":[224],"demonstrate":[226],"including":[233],"tree":[234],"rebuilding":[235],"from":[236],"preorder":[237],"inorder":[239],"traversals,":[240],"coding,":[242,244],"arithmetic":[243],"LZ77":[246],"compression.":[247]},"counts_by_year":[{"year":2024,"cited_by_count":3}],"updated_date":"2026-04-13T07:58:08.660418","created_date":"2025-10-10T00:00:00"}
