Sparcl: A language for partially invertible computation
Invertibility is a fundamental concept in computer science, with various manifestations in software development (serializer/deserializer, parser/printer, redo/undo, compressor/decompressor, and so on). Full invertibility necessarily requires bijectivity, but the direct approach of composing bijectiv...
Saved in:
| Published in | Journal of functional programming Vol. 34 |
|---|---|
| Main Authors | , |
| Format | Journal Article |
| Language | English |
| Published |
Cambridge, UK
Cambridge University Press
26.01.2024
|
| Subjects | |
| Online Access | Get full text |
| ISSN | 0956-7968 1469-7653 1469-7653 |
| DOI | 10.1017/S0956796823000126 |
Cover
| Abstract | Invertibility is a fundamental concept in computer science, with various manifestations in software development (serializer/deserializer, parser/printer, redo/undo, compressor/decompressor, and so on). Full invertibility necessarily requires bijectivity, but the direct approach of composing bijective functions to develop invertible programs is too restrictive to be useful. In this paper, we take a different approach by focusing on partially invertible functions—functions that become invertible if some of their arguments are fixed. The simplest example of such is addition, which becomes invertible when fixing one of the operands. More involved examples include entropy-based compression methods (e.g., Huffman coding), which carry the occurrence frequency of input symbols (in certain formats such as Huffman tree), and fixing this frequency information makes the compression methods invertible. We develop a language Sparcl for programming such functions in a natural way, where partial invertibility is the norm and bijectivity is a special case, hence gaining significant expressiveness without compromising correctness. The challenge in designing such a language is to allow ordinary programming (the “partially” part) to interact with the invertible part freely, and yet guarantee invertibility by construction. The language Sparcl is linear-typed and has a type constructor to distinguish data that are subject to invertible computation and those that are not. We present the syntax, type system, and semantics of the language and prove that Sparcl correctly guarantees invertibility for its programs. We demonstrate the expressiveness of Sparcl with examples including tree rebuilding from preorder and inorder traversals, Huffman coding, arithmetic coding, and LZ77 compression. |
|---|---|
| AbstractList | Invertibility is a fundamental concept in computer science, with various manifestations in software development (serializer/deserializer, parser/printer, redo/undo, compressor/decompressor, and so on). Full invertibility necessarily requires bijectivity, but the direct approach of composing bijective functions to develop invertible programs is too restrictive to be useful. In this paper, we take a different approach by focusing on partially invertible functions—functions that become invertible if some of their arguments are fixed. The simplest example of such is addition, which becomes invertible when fixing one of the operands. More involved examples include entropy-based compression methods (e.g., Huffman coding), which carry the occurrence frequency of input symbols (in certain formats such as Huffman tree), and fixing this frequency information makes the compression methods invertible.We develop a language Sparcl for programming such functions in a natural way, where partial invertibility is the norm and bijectivity is a special case, hence gaining significant expressiveness without compromising correctness. The challenge in designing such a language is to allow ordinary programming (the “partially” part) to interact with the invertible part freely, and yet guarantee invertibility by construction. The language Sparcl is linear-typed and has a type constructor to distinguish data that are subject to invertible computation and those that are not. We present the syntax, type system, and semantics of the language and prove that Sparcl correctly guarantees invertibility for its programs. We demonstrate the expressiveness of Sparcl with examples including tree rebuilding from preorder and inorder traversals, Huffman coding, arithmetic coding, and LZ77 compression. Invertibility is a fundamental concept in computer science, with various manifestations in software development (serializer/deserializer, parser/printer, redo/undo, compressor/decompressor, and so on). Full invertibility necessarily requires bijectivity, but the direct approach of composing bijective functions to develop invertible programs is too restrictive to be useful. In this paper, we take a different approach by focusing on partially invertible functions—functions that become invertible if some of their arguments are fixed. The simplest example of such is addition, which becomes invertible when fixing one of the operands. More involved examples include entropy-based compression methods (e.g., Huffman coding), which carry the occurrence frequency of input symbols (in certain formats such as Huffman tree), and fixing this frequency information makes the compression methods invertible. We develop a language Sparcl for programming such functions in a natural way, where partial invertibility is the norm and bijectivity is a special case, hence gaining significant expressiveness without compromising correctness. The challenge in designing such a language is to allow ordinary programming (the “partially” part) to interact with the invertible part freely, and yet guarantee invertibility by construction. The language Sparcl is linear-typed and has a type constructor to distinguish data that are subject to invertible computation and those that are not. We present the syntax, type system, and semantics of the language and prove that Sparcl correctly guarantees invertibility for its programs. We demonstrate the expressiveness of Sparcl with examples including tree rebuilding from preorder and inorder traversals, Huffman coding, arithmetic coding, and LZ77 compression. |
| ArticleNumber | e2 |
| Author | MATSUDA, KAZUTAKA WANG, MENG |
| Author_xml | – sequence: 1 givenname: KAZUTAKA orcidid: 0000-0002-9747-4899 surname: MATSUDA fullname: MATSUDA, KAZUTAKA email: kztk@tohoku.ac.jp organization: Tohoku University, 6-3-09 Aramaki, Aza-Aoba, Aoba-ku, Sendai, Japan (e-mail: kztk@tohoku.ac.jp) – sequence: 2 givenname: MENG orcidid: 0000-0001-7780-630X surname: WANG fullname: WANG, MENG email: meng.wang@bristol.ac.uk organization: University of Bristol, BS8 1TH, Bristol, UK (e-mail: meng.wang@bristol.ac.uk) |
| BookMark | eNp1j91LwzAUxYNMcJv-Ab4VfK7mq2ni2xg6hYEP0-dym6Wlo0tq0ir7783oQPDj6V7uOefHuTM0sc4ahK4JviWY5HcbrDKRKyEpwxgTKs7QlHCh0lxkbIKmRzk96hdoFsIueiTN5BTlmw68bu-TRdKCrQeoTVI5n8Rr30DbHpLGfpi4l61JtNt3Qw994-wlOq-gDebqNOfo7fHhdfmUrl9Wz8vFOtWM0D4FI8otCM416NIwrLaVxkJpJoHLnGAhs9IYLDLNMmkY1yUWFDTVgouoaTZHdOQOtoPDZ2xUdL7Zgz8UBBfH14vw8_UYuhlDnXfvgwl9sXODt7FnQRWRnHGmVHSR0aW9C8Gb6hd58weZnTKwL32zrc03-v_UF9Hsd6M |
| Cites_doi | 10.1007/3-540-57182-5_12 10.1145/115865.115868 10.1017/S0960129502003730 10.1007/978-3-540-40018-9_17 10.1017/S0956796812000263 10.1145/3434290 10.1007/978-3-319-89884-1_2 10.1145/1379022.1375602 10.2168/LMCS-1(2:1)2005 10.1017/S0956796800000058 10.1007/978-3-642-12032-9_21 10.1007/978-3-540-30477-7_2 10.1145/1014007.1014025 10.1007/3-540-47797-7_5 10.1017/S0305004100074338 10.1145/1291151.1291162 10.1007/978-3-030-45260-5_15 10.1007/978-3-319-99498-7_21 10.1007/978-3-642-11957-6_24 10.1007/978-3-540-74510-5_9 10.1145/1708016.1708027 10.1007/978-3-030-44914-8_17 10.1145/258949.258964 10.1147/rd.53.0183 10.1007/BFb0053552 10.1007/978-3-642-37036-6_6 10.1007/978-3-540-74130-5_15 10.1007/11561347_14 10.1147/rd.176.0525 10.1145/3414080.3414089 10.1017/S0960129506005238 10.1007/s10990-013-9097-8 10.1016/j.tcs.2005.07.002 10.1145/2858949.2784750 10.1007/3-540-48685-2_2 10.1145/3409000 10.1023/A:1010027404223 10.1109/TIT.1977.1055714 10.1017/S0956796811000098 10.1007/978-3-540-24754-8_21 10.1017/S0956796807006326 10.1016/j.ipl.2019.03.002 10.1145/2103656.2103667 10.1145/1366230.1366239 10.1145/154630.154643 10.1145/1993498.1993557 10.1007/3-540-45127-7_13 10.1145/347476.347484 10.1145/1232420.1232424 10.1007/978-3-540-32033-3_20 10.1145/3022670.2951925 10.1145/382780.382785 10.4204/EPTCS.153.4 10.1007/978-3-540-27764-4_16 10.1007/978-3-540-40018-9_18 10.1007/978-3-540-70881-0 10.1145/178243.178246 10.1016/j.scico.2014.07.008 10.1109/LICS.2005.1 10.1007/BFb0017210 10.4204/EPTCS.266.11 10.1016/j.scico.2012.07.014 10.1145/1926385.1926436 10.1145/277650.277732 10.1007/b94290 10.1145/1932681.1863573 10.1145/1328408.1328413 10.1145/3242744.3242758 10.1017/S0956796818000096 |
| ContentType | Journal Article |
| Copyright | The Author(s), 2024. Published by Cambridge University Press The Author(s), 2024. Published by Cambridge University Press. This work is licensed under the Creative Commons Attribution License This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited. (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| Copyright_xml | – notice: The Author(s), 2024. Published by Cambridge University Press – notice: The Author(s), 2024. Published by Cambridge University Press. This work is licensed under the Creative Commons Attribution License This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited. (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. |
| DBID | IKXGN AAYXX CITATION 3V. 7SC 7XB 8AL 8FD 8FE 8FG 8FK ABUWG AFKRA ARAPS AZQEC BENPR BGLVJ CCPQU DWQXO GNUQQ HCIFZ JQ2 K7- L7M L~C L~D M0N P5Z P62 PHGZM PHGZT PKEHL PQEST PQGLB PQQKQ PQUKI Q9U ADTOC UNPAY |
| DOI | 10.1017/S0956796823000126 |
| DatabaseName | Cambridge University Press Wholly Gold Open Access Journals CrossRef ProQuest Central (Corporate) Computer and Information Systems Abstracts ProQuest Central (purchase pre-March 2016) Computing Database (Alumni Edition) Technology Research Database ProQuest SciTech Collection ProQuest Technology Collection ProQuest Central (Alumni) (purchase pre-March 2016) ProQuest Central (Alumni) ProQuest Central Advanced Technologies & Computer Science Collection ProQuest Central Essentials ProQuest Central Technology Collection ProQuest One ProQuest Central ProQuest Central Student SciTech Premium Collection ProQuest Computer Science Collection Computer Science Database Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional Computing Database Advanced Technologies & Aerospace Database ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Premium ProQuest One Academic (New) ProQuest One Academic Middle East (New) ProQuest One Academic Eastern Edition (DO NOT USE) ProQuest One Applied & Life Sciences ProQuest One Academic ProQuest One Academic UKI Edition ProQuest Central Basic Unpaywall for CDI: Periodical Content Unpaywall |
| DatabaseTitle | CrossRef Computer Science Database ProQuest Central Student Technology Collection Technology Research Database Computer and Information Systems Abstracts – Academic ProQuest One Academic Middle East (New) ProQuest Advanced Technologies & Aerospace Collection ProQuest Central Essentials ProQuest Computer Science Collection Computer and Information Systems Abstracts ProQuest Central (Alumni Edition) SciTech Premium Collection ProQuest One Community College ProQuest Central ProQuest One Applied & Life Sciences ProQuest Central Korea ProQuest Central (New) Advanced Technologies Database with Aerospace Advanced Technologies & Aerospace Collection ProQuest Computing ProQuest Central Basic ProQuest Computing (Alumni Edition) ProQuest One Academic Eastern Edition ProQuest Technology Collection ProQuest SciTech Collection Computer and Information Systems Abstracts Professional Advanced Technologies & Aerospace Database ProQuest One Academic UKI Edition ProQuest One Academic ProQuest Central (Alumni) ProQuest One Academic (New) |
| DatabaseTitleList | Computer Science Database CrossRef |
| Database_xml | – sequence: 1 dbid: IKXGN name: Cambridge University Press Wholly Gold Open Access Journals url: http://journals.cambridge.org/action/login sourceTypes: Publisher – sequence: 2 dbid: UNPAY name: Unpaywall url: https://proxy.k.utb.cz/login?url=https://unpaywall.org/ sourceTypes: Open Access Repository – sequence: 3 dbid: 8FG name: ProQuest Technology Collection url: https://search.proquest.com/technologycollection1 sourceTypes: Aggregation Database |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Computer Science |
| EISSN | 1469-7653 |
| ExternalDocumentID | 10.1017/s0956796823000126 10_1017_S0956796823000126 |
| GroupedDBID | -1D -E. .DC .FH 09C 09E 0E1 4.4 5GY 5VS 6OB 74X 74Y 7~V 85S AAAZR AABES AABWE AACJH AAEED AAFUK AAGFV AAKTX AAMNQ AARAB AASVR AAUIS AAUKB ABBXD ABITZ ABJNI ABKKG ABMWE ABMYL ABQTM ABQWD ABROB ABTCQ ABZCX ACBMC ACCHT ACGFS ACIMK ACQFJ ACREK ACUIJ ACUYZ ACWGA ACYZP ACZBM ACZUX ACZWT ADCGK ADDNB ADFEC ADGEJ ADKIL ADOCW ADVJH AEBAK AEMTW AENEX AENGE AEYYC AFFUJ AFKQG AFKSM AFLOS AFLVW AFUTZ AGABE AGBYD AGJUD AGOOT AHQXX AHRGI AIGNW AIHIV AIOIP AISIE AJ7 AJCYY AJPFC AJQAS ALMA_UNASSIGNED_HOLDINGS ALVPG ALWZO AQJOH ARABE ARAPS ATUCA AUXHV BBLKV BENPR BGHMG BLZWO BMAJL C0O CBIIA CCQAD CCTKK CFAFE CJCSC CS3 DOHLZ DU5 EBS HCIFZ HG- HST I.6 IH6 IKXGN IOEEP IPYYG IS6 I~P J36 J38 J3A JHPGK JQKCU KCGVB KFECR L98 LW7 M-V M7~ NIKVX OK1 OYBOY P2P PYCCK RAMDC RCA ROL RR0 S6- S6U SAAAG T9M TWZ UT1 WFFJZ WQ3 WXU WXY WYP YYM ZYDXJ -1F -2P -2V -~6 -~N 0R~ 29K 6~7 8FE 8FG 8R4 8R5 9M5 AAKNA AANRG AATMM AAYXX ABBZL ABEFU ABGDZ ABUWG ABVFV ABVKB ABVZP ABXAU ABXHF ABZUI ACAJB ACDLN ACEJA ACETC ACRPL ADNMO ADOVH ADOVT AEBPU AEHGV AEMFK AENCP AFKRA AFZFC AGLWM AGQPQ AKMAY AKZCZ AMVHM ANOYL ARZZG AYIQA AZQEC BCGOX BESQT BGLVJ BJBOZ BPHCQ BQFHP CAG CCPQU CCUQV CDIZJ CFBFF CGQII CHEAL CITATION COF D-I DC4 DWQXO EGQIC EJD GNUQQ I.7 I.9 IOO K6V K7- KAFGG LHUNA M48 M8. NMFBF NZEOI P62 PHGZM PHGZT PQGLB PQQKQ PROAC PUEGO Q2X ZDLDU ZJOSE ZMEZD ZY4 ~V1 3V. 7SC 7XB 8AL 8FD 8FK JQ2 L7M L~C L~D M0N PKEHL PQEST PQUKI Q9U ADTOC UNPAY |
| ID | FETCH-LOGICAL-c312t-ae6bda644cacbe309dfc069c38a48710685bee065c358e34cb062ac2c646685c3 |
| IEDL.DBID | BENPR |
| ISSN | 0956-7968 1469-7653 |
| IngestDate | Tue Aug 19 21:42:43 EDT 2025 Sat Aug 23 12:53:43 EDT 2025 Wed Oct 01 04:12:15 EDT 2025 Wed Mar 13 06:00:41 EDT 2024 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Language | English |
| License | This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited. cc-by |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c312t-ae6bda644cacbe309dfc069c38a48710685bee065c358e34cb062ac2c646685c3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0001-7780-630X 0000-0002-9747-4899 |
| OpenAccessLink | https://proxy.k.utb.cz/login?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 |
| PQID | 2918434399 |
| PQPubID | 37264 |
| PageCount | 50 |
| ParticipantIDs | unpaywall_primary_10_1017_s0956796823000126 proquest_journals_2918434399 crossref_primary_10_1017_S0956796823000126 cambridge_journals_10_1017_S0956796823000126 |
| ProviderPackageCode | CITATION AAYXX |
| PublicationCentury | 2000 |
| PublicationDate | 2024-01-26 |
| PublicationDateYYYYMMDD | 2024-01-26 |
| PublicationDate_xml | – month: 01 year: 2024 text: 2024-01-26 day: 26 |
| PublicationDecade | 2020 |
| PublicationPlace | Cambridge, UK |
| PublicationPlace_xml | – name: Cambridge, UK – name: Cambridge |
| PublicationTitle | Journal of functional programming |
| PublicationTitleAlternate | J. Funct. Prog |
| PublicationYear | 2024 |
| Publisher | Cambridge University Press |
| Publisher_xml | – name: Cambridge University Press |
| References | 2007; 29 1991; 1 2018; 28 2020; 4 2018; 2 2000; 47 1961; 5 2002; 12 2015; 111 2008; 18 2006; 16 2005; 347 1973; 17 2019; 147 2011; 21 2001; 48 2012; 18 1977; 23 2012; 25 2012; 22 1996; 119 1998; 11 2016; 33 Glück (S0956796823000126_ref25) 2019; 147 Selinger (S0956796823000126_ref77) 2006; 16 S0956796823000126_ref18 S0956796823000126_ref17 S0956796823000126_ref69 S0956796823000126_ref67 S0956796823000126_ref23 S0956796823000126_ref68 S0956796823000126_ref21 S0956796823000126_ref65 S0956796823000126_ref22 Gomard (S0956796823000126_ref26) 1991; 1 S0956796823000126_ref63 (S0956796823000126_ref79) 2003; 55 S0956796823000126_ref64 S0956796823000126_ref20 S0956796823000126_ref61 S0956796823000126_ref62 Vytiniotis (S0956796823000126_ref82) 2011; 21 McBride (S0956796823000126_ref57) 2008; 18 S0956796823000126_ref60 Matsuda (S0956796823000126_ref47) 2012; 25 Joyal (S0956796823000126_ref34) 1996; 119 Davies (S0956796823000126_ref16) 2001; 48 Matsuda (S0956796823000126_ref51) 2015; 111 Rendel (S0956796823000126_ref71) 2010 S0956796823000126_ref49 Yokoyama (S0956796823000126_ref89) 2012; 18 S0956796823000126_ref14 Abramsky (S0956796823000126_ref3) 2005; 347 S0956796823000126_ref58 S0956796823000126_ref59 S0956796823000126_ref15 Antoy (S0956796823000126_ref8) 2000; 47 S0956796823000126_ref56 S0956796823000126_ref13 Ziv (S0956796823000126_ref90) 1977; 23 S0956796823000126_ref54 S0956796823000126_ref10 S0956796823000126_ref53 S0956796823000126_ref50 Reynolds (S0956796823000126_ref72) 1998; 11 Salomon (S0956796823000126_ref76) 2008 S0956796823000126_ref38 S0956796823000126_ref39 S0956796823000126_ref48 S0956796823000126_ref45 S0956796823000126_ref46 S0956796823000126_ref87 S0956796823000126_ref43 S0956796823000126_ref44 S0956796823000126_ref85 S0956796823000126_ref2 S0956796823000126_ref42 S0956796823000126_ref86 S0956796823000126_ref1 Bennett (S0956796823000126_ref11) 1973; 17 S0956796823000126_ref83 S0956796823000126_ref40 S0956796823000126_ref84 S0956796823000126_ref81 S0956796823000126_ref6 S0956796823000126_ref5 S0956796823000126_ref7 S0956796823000126_ref80 S0956796823000126_ref9 Kennedy (S0956796823000126_ref35) 2012; 22 Foster (S0956796823000126_ref19) 2007; 29 Matsuda (S0956796823000126_ref52) 2018; 28 Matsuda (S0956796823000126_ref55) 2020; 4 Nielson (S0956796823000126_ref66) 1992 Paterson (S0956796823000126_ref70) 2012 Jones (S0956796823000126_ref32) 1995 S0956796823000126_ref29 Abramsky (S0956796823000126_ref4) 2002; 12 S0956796823000126_ref27 S0956796823000126_ref28 S0956796823000126_ref36 S0956796823000126_ref37 Bernardy (S0956796823000126_ref12) 2018; 2 Glück (S0956796823000126_ref24) 2016; 33 S0956796823000126_ref78 S0956796823000126_ref33 S0956796823000126_ref74 S0956796823000126_ref30 S0956796823000126_ref75 S0956796823000126_ref31 Yokoyama (S0956796823000126_ref88) 2011 S0956796823000126_ref73 Landauer (S0956796823000126_ref41) 1961; 5 |
| References_xml | – volume: 25 start-page: 3 issue: 1 year: 2012 end-page: 38 article-title: Polynomial-time inverse computation for accumulative functions with multiple data traversals publication-title: Higher-Order Symb. Comput. – volume: 2 start-page: 5:1 issue: POPL year: 2018 end-page: 5:29 article-title: Linear haskell: Practical linearity in a higher-order polymorphic language publication-title: PACMPL – volume: 147 start-page: 32 year: 2019 end-page: 37 article-title: Constructing a binary tree from its traversals by reversible recursion and iteration publication-title: Inf. Process. Lett. – volume: 12 start-page: 625 issue: 5 year: 2002 end-page: 665 article-title: Geometry of interaction and linear combinatory algebras publication-title: Math. Struct. Comput. Sci. – volume: 17 start-page: 525 issue: 6 year: 1973 end-page: 532 article-title: Logical reversibility of computation publication-title: IBM J. Res. Dev. – volume: 33 start-page: 3_108 issue: 3 year: 2016 end-page: 3_128 article-title: A linear-time self-interpreter of a reversible imperative language publication-title: Comput. Softw. – volume: 18 start-page: 1 issue: 1 year: 2008 end-page: 13 article-title: Applicative programming with effects publication-title: J. Funct. Program. – volume: 1 start-page: 21 issue: 1 year: 1991 end-page: 69 article-title: A partial evaluator for the untyped lambda-calculus publication-title: J. Funct. Program. – volume: 18 start-page: 5 issue: 1 year: 2012 end-page: 24 article-title: Optimizing reversible simulation of injective functions publication-title: Multiple-Valued Logic Soft Comput. – volume: 22 start-page: 529 issue: 4–5 year: 2012 end-page: 573 article-title: Every bit counts: The binary representation of typed data and programs publication-title: J. Funct. Program. – volume: 5 start-page: 183 issue: 3 year: 1961 end-page: 191 article-title: Irreversibility and heat generation in the computing process publication-title: IBM J. Res. Dev. – volume: 111 start-page: 79 year: 2015 end-page: 109 article-title: “Bidirectionalization for free” for monomorphic transformations publication-title: Sci. Comput. Program. – volume: 48 start-page: 555 issue: 3 year: 2001 end-page: 604 article-title: A modal analysis of staged computation publication-title: J. ACM – volume: 29 issue: 3 year: 2007 article-title: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem publication-title: ACM Trans. Program. Lang. Syst. – volume: 119 start-page: 447 issue: 3 year: 1996 end-page: 468 article-title: Traced monoidal categories publication-title: Math. Proc. Cambridge Philos. Soc – volume: 4 start-page: 1 issue: ICFP year: 2020 end-page: 118 article-title: Sparcl: A language for partially-invertible computation publication-title: Proc. ACM Program. Lang – volume: 23 start-page: 337 issue: 3 year: 1977 end-page: 343 article-title: A universal algorithm for sequential data compression publication-title: IEEE Trans. Inf. Theory – volume: 21 start-page: 333 issue: 4–5 year: 2011 end-page: 412 article-title: OutsideIn(X) modular type inference with local assumptions publication-title: J. Funct. Program. – volume: 28 start-page: e15 year: 2018 article-title: Applicative bidirectional programming: Mixing lenses and semantic bidirectionalization publication-title: J. Funct. Program. – volume: 11 start-page: 363 issue: 4 year: 1998 end-page: 397 article-title: Definitional interpreters for higher-order programming languages publication-title: Higher-Order Symb. Comput. – volume: 347 start-page: 441 issue: 3 year: 2005 end-page: 464 article-title: A structural approach to reversible computation publication-title: Theor. Comput. Sci. – volume: 47 start-page: 776 issue: 4 year: 2000 end-page: 822 article-title: A needed narrowing strategy publication-title: J. ACM. – volume: 16 start-page: 527 issue: 3 year: 2006 end-page: 552 article-title: A lambda calculus for quantum computation with classical control publication-title: Math. Struct. Comput. Sci. – ident: S0956796823000126_ref83 doi: 10.1007/3-540-57182-5_12 – ident: S0956796823000126_ref74 doi: 10.1145/115865.115868 – volume: 12 start-page: 625 year: 2002 ident: S0956796823000126_ref4 article-title: Geometry of interaction and linear combinatory algebras publication-title: Math. Struct. Comput. Sci. doi: 10.1017/S0960129502003730 – ident: S0956796823000126_ref38 – ident: S0956796823000126_ref22 doi: 10.1007/978-3-540-40018-9_17 – ident: S0956796823000126_ref44 – volume: 22 start-page: 529 year: 2012 ident: S0956796823000126_ref35 article-title: Every bit counts: The binary representation of typed data and programs publication-title: J. Funct. Program. doi: 10.1017/S0956796812000263 – ident: S0956796823000126_ref14 doi: 10.1145/3434290 – ident: S0956796823000126_ref54 doi: 10.1007/978-3-319-89884-1_2 – ident: S0956796823000126_ref75 doi: 10.1145/1379022.1375602 – ident: S0956796823000126_ref13 doi: 10.2168/LMCS-1(2:1)2005 – volume: 1 start-page: 21 year: 1991 ident: S0956796823000126_ref26 article-title: A partial evaluator for the untyped lambda-calculus publication-title: J. Funct. Program. doi: 10.1017/S0956796800000058 – ident: S0956796823000126_ref6 doi: 10.1007/978-3-642-12032-9_21 – ident: S0956796823000126_ref2 – ident: S0956796823000126_ref64 doi: 10.1007/978-3-540-30477-7_2 – start-page: 14 volume-title: In RC year: 2011 ident: S0956796823000126_ref88 – ident: S0956796823000126_ref29 doi: 10.1145/1014007.1014025 – ident: S0956796823000126_ref21 doi: 10.1007/3-540-47797-7_5 – volume: 119 start-page: 447 year: 1996 ident: S0956796823000126_ref34 article-title: Traced monoidal categories publication-title: Math. Proc. Cambridge Philos. Soc doi: 10.1017/S0305004100074338 – ident: S0956796823000126_ref46 doi: 10.1145/1291151.1291162 – ident: S0956796823000126_ref36 doi: 10.1007/978-3-030-45260-5_15 – ident: S0956796823000126_ref30 doi: 10.1007/978-3-319-99498-7_21 – ident: S0956796823000126_ref48 doi: 10.1007/978-3-642-11957-6_24 – ident: S0956796823000126_ref9 doi: 10.1007/978-3-540-74510-5_9 – ident: S0956796823000126_ref56 doi: 10.1145/1708016.1708027 – ident: S0956796823000126_ref68 – ident: S0956796823000126_ref45 doi: 10.1007/978-3-030-44914-8_17 – ident: S0956796823000126_ref28 doi: 10.1145/258949.258964 – ident: S0956796823000126_ref43 – volume: 5 start-page: 183 year: 1961 ident: S0956796823000126_ref41 article-title: Irreversibility and heat generation in the computing process publication-title: IBM J. Res. Dev. doi: 10.1147/rd.53.0183 – ident: S0956796823000126_ref61 doi: 10.1007/BFb0053552 – ident: S0956796823000126_ref49 doi: 10.1007/978-3-642-37036-6_6 – volume: 2 start-page: 5:1 year: 2018 ident: S0956796823000126_ref12 article-title: Linear haskell: Practical linearity in a higher-order polymorphic language publication-title: PACMPL – start-page: 1 volume-title: Haskell year: 2010 ident: S0956796823000126_ref71 – ident: S0956796823000126_ref5 doi: 10.1007/978-3-540-74130-5_15 – ident: S0956796823000126_ref58 doi: 10.1007/11561347_14 – volume: 17 start-page: 525 year: 1973 ident: S0956796823000126_ref11 article-title: Logical reversibility of computation publication-title: IBM J. Res. Dev. doi: 10.1147/rd.176.0525 – ident: S0956796823000126_ref37 doi: 10.1145/3414080.3414089 – ident: S0956796823000126_ref33 – volume: 16 start-page: 527 year: 2006 ident: S0956796823000126_ref77 article-title: A lambda calculus for quantum computation with classical control publication-title: Math. Struct. Comput. Sci. doi: 10.1017/S0960129506005238 – volume: 25 start-page: 3 year: 2012 ident: S0956796823000126_ref47 article-title: Polynomial-time inverse computation for accumulative functions with multiple data traversals publication-title: Higher-Order Symb. Comput. doi: 10.1007/s10990-013-9097-8 – volume: 347 start-page: 441 year: 2005 ident: S0956796823000126_ref3 article-title: A structural approach to reversible computation publication-title: Theor. Comput. Sci. doi: 10.1016/j.tcs.2005.07.002 – ident: S0956796823000126_ref50 doi: 10.1145/2858949.2784750 – volume: 18 start-page: 5 year: 2012 ident: S0956796823000126_ref89 article-title: Optimizing reversible simulation of injective functions publication-title: Multiple-Valued Logic Soft Comput. – ident: S0956796823000126_ref17 doi: 10.1007/3-540-48685-2_2 – start-page: 300 volume-title: In MPC year: 2012 ident: S0956796823000126_ref70 – volume: 4 start-page: 1 year: 2020 ident: S0956796823000126_ref55 article-title: Sparcl: A language for partially-invertible computation publication-title: Proc. ACM Program. Lang doi: 10.1145/3409000 – volume: 11 start-page: 363 year: 1998 ident: S0956796823000126_ref72 article-title: Definitional interpreters for higher-order programming languages publication-title: Higher-Order Symb. Comput. doi: 10.1023/A:1010027404223 – volume: 23 start-page: 337 year: 1977 ident: S0956796823000126_ref90 article-title: A universal algorithm for sequential data compression publication-title: IEEE Trans. Inf. Theory doi: 10.1109/TIT.1977.1055714 – volume: 21 start-page: 333 year: 2011 ident: S0956796823000126_ref82 article-title: OutsideIn(X) modular type inference with local assumptions publication-title: J. Funct. Program. doi: 10.1017/S0956796811000098 – ident: S0956796823000126_ref23 doi: 10.1007/978-3-540-24754-8_21 – volume: 18 start-page: 1 year: 2008 ident: S0956796823000126_ref57 article-title: Applicative programming with effects publication-title: J. Funct. Program. doi: 10.1017/S0956796807006326 – volume-title: Undergraduate Topics in Computer Science year: 2008 ident: S0956796823000126_ref76 – volume: 147 start-page: 32 year: 2019 ident: S0956796823000126_ref25 article-title: Constructing a binary tree from its traversals by reversible recursion and iteration publication-title: Inf. Process. Lett. doi: 10.1016/j.ipl.2019.03.002 – ident: S0956796823000126_ref31 doi: 10.1145/2103656.2103667 – ident: S0956796823000126_ref87 doi: 10.1145/1366230.1366239 – ident: S0956796823000126_ref84 – ident: S0956796823000126_ref15 doi: 10.1145/154630.154643 – ident: S0956796823000126_ref78 doi: 10.1145/1993498.1993557 – ident: S0956796823000126_ref40 doi: 10.1007/3-540-45127-7_13 – volume: 47 start-page: 776 year: 2000 ident: S0956796823000126_ref8 article-title: A needed narrowing strategy publication-title: J. ACM. doi: 10.1145/347476.347484 – volume: 29 year: 2007 ident: S0956796823000126_ref19 article-title: Combinators for bidirectional tree transformations: A linguistic approach to the view-update problem publication-title: ACM Trans. Program. Lang. Syst. doi: 10.1145/1232420.1232424 – ident: S0956796823000126_ref67 doi: 10.1007/978-3-540-32033-3_20 – ident: S0956796823000126_ref59 – ident: S0956796823000126_ref62 doi: 10.1145/3022670.2951925 – volume: 48 start-page: 555 year: 2001 ident: S0956796823000126_ref16 article-title: A modal analysis of staged computation publication-title: J. ACM doi: 10.1145/382780.382785 – ident: S0956796823000126_ref1 doi: 10.4204/EPTCS.153.4 – ident: S0956796823000126_ref65 doi: 10.1007/978-3-540-27764-4_16 – ident: S0956796823000126_ref20 – volume-title: Qualified Types: Theory and Practice year: 1995 ident: S0956796823000126_ref32 – ident: S0956796823000126_ref63 doi: 10.1007/978-3-540-40018-9_18 – ident: S0956796823000126_ref39 – volume: 55 volume-title: Cambridge Tracts in Theoretical Computer Science year: 2003 ident: S0956796823000126_ref79 – ident: S0956796823000126_ref81 doi: 10.1007/978-3-540-70881-0 – ident: S0956796823000126_ref42 doi: 10.1145/178243.178246 – volume: 111 start-page: 79 year: 2015 ident: S0956796823000126_ref51 article-title: “Bidirectionalization for free” for monomorphic transformations publication-title: Sci. Comput. Program. doi: 10.1016/j.scico.2014.07.008 – ident: S0956796823000126_ref18 – ident: S0956796823000126_ref7 doi: 10.1109/LICS.2005.1 – ident: S0956796823000126_ref10 doi: 10.1007/BFb0017210 – ident: S0956796823000126_ref73 doi: 10.4204/EPTCS.266.11 – volume-title: Cambridge Tracts in Theoretical Computer Science year: 1992 ident: S0956796823000126_ref66 – ident: S0956796823000126_ref85 doi: 10.1016/j.scico.2012.07.014 – ident: S0956796823000126_ref80 doi: 10.1145/1926385.1926436 – ident: S0956796823000126_ref86 doi: 10.1145/277650.277732 – ident: S0956796823000126_ref69 doi: 10.1007/b94290 – ident: S0956796823000126_ref27 doi: 10.1145/1932681.1863573 – ident: S0956796823000126_ref60 doi: 10.1145/1328408.1328413 – ident: S0956796823000126_ref53 doi: 10.1145/3242744.3242758 – volume: 28 start-page: e15 year: 2018 ident: S0956796823000126_ref52 article-title: Applicative bidirectional programming: Mixing lenses and semantic bidirectionalization publication-title: J. Funct. Program. doi: 10.1017/S0956796818000096 – volume: 33 start-page: 3_108 year: 2016 ident: S0956796823000126_ref24 article-title: A linear-time self-interpreter of a reversible imperative language publication-title: Comput. Softw. |
| SSID | ssj0008258 |
| Score | 2.3592732 |
| Snippet | Invertibility is a fundamental concept in computer science, with various manifestations in software development (serializer/deserializer, parser/printer,... |
| SourceID | unpaywall proquest crossref cambridge |
| SourceType | Open Access Repository Aggregation Database Index Database Publisher |
| SubjectTerms | Algorithms Arithmetic coding Computation Fixing Huffman codes Logic programming Programming languages Semantics Software development |
| SummonAdditionalLinks | – databaseName: Cambridge University Press Wholly Gold Open Access Journals dbid: IKXGN link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3JTsMwEB2V9gAXdkShIB84AVEWO07CrUKUAqKXUim3yHYcCSkKUReh_j12tpZWQuKc5MkZO5k3M_YbgBsSJ9ymLjYSHlODCBoYPsHMUKEBxxanMS4q-O8jOpyQ19ANWxDWZ2H0tspG46Co5Bf90fJS_tT8jMs9NHJqjrWEnhdQXSnSTpuaOmlpVlMQVYbfgY5iMNhvQ-flLXweNX9pFRn5tQ6fRqkrnoWc9Abyuu7Cb_-1IqW7iyxny2-Wpmv-aXAI-xWxRP1yQEfQktkxHNRNG1D1DZ-AN87V2k4fUB_VuUqkiCvK9aso3CX6zIoezTyVSBSPF5N3CpPB08fj0Ki6JxgC287cYJLymCm6I5jgEltBnAiLBgL7TAUpKhL0XS6lYiACu77ERHCLOkw4ghKqrgl8Bu3sK5PngGxbujggQmvJEeFJhhWtEImCwDFx4qAL9419omoCZlG5f8yLtszZhdvahFFeamr8dXOvNvIK2gl0mxodSnXhrjH8FthsE-zifwO9hD1HcRidcXFoD9rz6UJeKQ4y59fVcvoB9YbSUg priority: 102 providerName: Cambridge University Press – databaseName: Scholars Portal Journals: Open Access dbid: M48 link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV3PS8MwFH7MedCLv8XplBzEgxptmzRtBJEhjiHMyxzsVpI0A6HU7he6_96ka7epY-c03-Hlhfe9vPJ9AJc07kuX-QT3ZcwwVYzjkBKBTWsgiSNZTPIJfvuNtbr0tef3KlBOz4sAjla2dtZPqjtM7r4H0ydz4R8LlaD7jhXTCzizMyNbvtlVNsDWV8rOXwuTjQ3YNLWLW3OHNl3oiZv-KCzV-CxCOfdchbqsvvC7ii2o6dYkzcT0SyTJUpVq7sFOQS9RY5YP-1DR6QHsltYNqLjJhxB0MpPhyQNqoPLFEhn6ijKbSQZ3ij7S3KlZJhqpfHt-hEfQbb68P7dw4aGAFXG9MRaayVgY0qOEkpo4PO4rh3FFQmFaFdMPhr7U2vAQRfxQE6qkwzyhPMUoM2uKHEM1_Uz1CSDX1T7hVFlFOaoCLYghF6pvIEhMvZjX4HYen6g8yGj2F1kQ_QtnDa7LEEbZTFlj3cf1MsgLaI9bsxrbUNXgZh74f2Cjv2Cn68HOYNszzMW-s3isDtXxcKLPDfMYy4s8eX4AlczO8Q priority: 102 providerName: Scholars Portal – databaseName: Unpaywall dbid: UNPAY link: http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw3V1LbxMxEDYhPcCF8hSBgvbACXD2Ya93zS1pdlUhUSGVSOUU-bVSRbRdNUmr8m_5J8zsK6GRkLhy3LXlGdlj-xt7_A0h77gtdChiRgttBeVGSJpypii4BpoFWlhW3-B_ORUnc_75PD4fkF_dWxgMq-w5Duqb_Do_2qqdOL66rGhfTusyjOmGBdrHo3Q_DeR0lh3naTJFYpVsBgg9z_IZBzcjnU4z_wyZ9xIp8IIJ93qhxpUtfHtxTQ3iVVoPEoXpXLY_Vga_rsyy-alod5JIAVbSCkdYLZe39KKsMyjrJeqFGRnqrqXQMkq4Tw5EDMoMycH89Ovke8cBiKo0L6AkTaDTupvXEIlO76i6y__w5z66BccPNmWlbm9Ao519Mj-8N-h6uAmP-THerPXY_LxDPvlfD8Fj8qhF-d6kmZZPyMCVT8lhl0HDaxfUZyQ5q-V98iZeJ8sDWV4vy9vK8nZkPSfzPPt2fELbVBbUsDBaU-WEtgqwp1FGOxZIW5hASMNSBR4juOVprJ0DOGhYnDrGjQ5EpExkBBdQZtgLMiwvS_eSeGHoYia5QWI_bhKnGGA8U0ATzPLIyhH52I_Ool2QVosmmC9Z7PX9iLzv7GhRNQQnf6t81FnatulIYs4g9GtH5ENvfXuN7Vnzq3-q_Zo8jABP4ulXJI7IcH21cW8AD67123ZG_QY_IVrA priority: 102 providerName: Unpaywall |
| Title | Sparcl: A language for partially invertible computation |
| URI | https://www.cambridge.org/core/product/identifier/S0956796823000126/type/journal_article https://www.proquest.com/docview/2918434399 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 |
| UnpaywallVersion | publishedVersion |
| Volume | 34 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAEN databaseName: Cambridge University Press Wholly Gold Open Access Journals customDbUrl: eissn: 1469-7653 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: IKXGN dateStart: 19910101 isFulltext: true titleUrlDefault: http://journals.cambridge.org/action/login providerName: Cambridge University Press – providerCode: PRVAEN databaseName: Cambridge Wholly Gold Open Access Journals customDbUrl: eissn: 1469-7653 dateEnd: 99991231 omitProxy: true ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: IPYYG dateStart: 20220101 isFulltext: true titleUrlDefault: https://www.cambridge.org providerName: Cambridge University Press – providerCode: PRVEBS databaseName: EBSCOhost Mathematics Source - trial do 30.11.2025 customDbUrl: eissn: 1469-7653 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: AMVHM dateStart: 19910101 isFulltext: true titleUrlDefault: https://www.ebsco.com/products/research-databases/mathematics-source providerName: EBSCOhost – providerCode: PRVPQU databaseName: ProQuest Central customDbUrl: http://www.proquest.com/pqcentral?accountid=15518 eissn: 1469-7653 dateEnd: 20241102 omitProxy: true ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: BENPR dateStart: 20010101 isFulltext: true titleUrlDefault: https://www.proquest.com/central providerName: ProQuest – providerCode: PRVPQU databaseName: ProQuest Technology Collection customDbUrl: eissn: 1469-7653 dateEnd: 20241102 omitProxy: true ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: 8FG dateStart: 20010101 isFulltext: true titleUrlDefault: https://search.proquest.com/technologycollection1 providerName: ProQuest – providerCode: PRVFZP databaseName: Scholars Portal Journals: Open Access customDbUrl: eissn: 1469-7653 dateEnd: 20250131 omitProxy: true ssIdentifier: ssj0008258 issn: 1469-7653 databaseCode: M48 dateStart: 20220101 isFulltext: true titleUrlDefault: http://journals.scholarsportal.info providerName: Scholars Portal |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwfV1LS8NAEB76OOjFt1itZQ-e1GCb3WwTQaSKrQ8ailpoT2VfBaHEqBXx3zubZlsf4GnJJpnD7GT3m53N9wEcMD2WDR5Qbyw195jikRcyKjxMDSStS65pVsHvxvy6z24HwaAAsfsXxh6rdHNiNlHrZ2X3yE_8yCqTWPR8nr54VjXKVledhIbIpRX0WUYxVoSyb5mxSlC-uIp79_O5GfOh0LHvNSMeujpnRiKNnbYPQbkFAT_YFn6uWgsouvSepOLzQ0wm31al9hqs5HCStGbjvw4Fk2zAqpNqIPmXuwnNhxQjenJKWsTtUBKEqyS1kYN2P8lTkikzy4khKns9G7It6LevHi-vvVwzwVO04U89YbjUAkGOEkoaWo_0WNV5pGgoMDXB_C8MpDGIOxQNQkOZknXuC-UrzjjeU3QbSslzYnaANBomoBFTlkGOqaYRFMGEGqMJqpmvowocz_0zyiP_bTQ7NdYc_XFnBQ6dC0fpjEnjv4erzskL04sQqMDR3PF_jL39Nrb7v7E9WPYRqdh9FZ9XoTR9fTf7iDSmsgbFsN2p5UGE7c3doBPbtjccYn-xy0K86se91vALxV3R1Q |
| linkProvider | ProQuest |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV3JTsMwEB2xHODCjiirD3ABIlrbcRMkhFhVtgqxSNyCt0pIVQi0VdWf49sYp3HLInHj6iRP0WTieeOx5wFsctNQFRGyoKGMCLgWcRBxJgNMDRQrK2FYXsG_qYvaI798Cp9G4MOfhXHbKv2cmE_U5lW7NfI9GjtlEseeD7O3wKlGueqql9CQhbSCOchbjBUHO65sr4spXOvg4hS_9xal52cPJ7WgUBkINKvQdiCtUEYiLdBSK8vKsWnosog1iySSecyYolBZi5FaszCyjGtVFlRqqgUXeE0zxB2FcXy3GJO_8eOz-u3dIBZg_hX5bn_VWES-rpo3rcZBN4ZJgCMd37o7fI-SQ-o70Ukz2evKZvNLFDyfgamCvpKjvr_NwohN52DaS0OQYqaYh-p9hqZp7pMj4ldECdJjkjlPRdweeUlzJWjVtETnj-cusgCP_2K9RRhLX1O7BKRSsSGLuXYd67iuWsmQvOgGQjDDqYlLsDuwT1L8aa2kv0utmvwyZwm2vQmTrN-546-bV72Rh9BDlyvBzsDwv8BaP8GW_wbbgInaw811cn1Rv1qBSYosya3pULEKY-33jl1DltNW64UrEXj-b-_9BCFZCIE |
| linkToUnpaywall | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMw3V1LbxMxEDYhPcCF8hSBgvbACXD2Ya93zS1pdlUhUSGVSOUU-bVSRbRdNUmr8m_5J8zsK6GRkLhy3LXlGdlj-xt7_A0h77gtdChiRgttBeVGSJpypii4BpoFWlhW3-B_ORUnc_75PD4fkF_dWxgMq-w5Duqb_Do_2qqdOL66rGhfTusyjOmGBdrHo3Q_DeR0lh3naTJFYpVsBgg9z_IZBzcjnU4z_wyZ9xIp8IIJ93qhxpUtfHtxTQ3iVVoPEoXpXLY_Vga_rsyy-alod5JIAVbSCkdYLZe39KKsMyjrJeqFGRnqrqXQMkq4Tw5EDMoMycH89Ovke8cBiKo0L6AkTaDTupvXEIlO76i6y__w5z66BccPNmWlbm9Ao519Mj-8N-h6uAmP-THerPXY_LxDPvlfD8Fj8qhF-d6kmZZPyMCVT8lhl0HDaxfUZyQ5q-V98iZeJ8sDWV4vy9vK8nZkPSfzPPt2fELbVBbUsDBaU-WEtgqwp1FGOxZIW5hASMNSBR4juOVprJ0DOGhYnDrGjQ5EpExkBBdQZtgLMiwvS_eSeGHoYia5QWI_bhKnGGA8U0ATzPLIyhH52I_Ool2QVosmmC9Z7PX9iLzv7GhRNQQnf6t81FnatulIYs4g9GtH5ENvfXuN7Vnzq3-q_Zo8jABP4ulXJI7IcH21cW8AD67123ZG_QY_IVrA |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Sparcl%3A+A+language+for+partially+invertible+computation&rft.jtitle=Journal+of+functional+programming&rft.au=Matsuda%2C+Kazutaka&rft.au=Wang%2C+Meng&rft.date=2024-01-26&rft.pub=Cambridge+University+Press&rft.issn=0956-7968&rft.eissn=1469-7653&rft.volume=34&rft_id=info:doi/10.1017%2FS0956796823000126 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0956-7968&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0956-7968&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0956-7968&client=summon |