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...

Full description

Saved in:
Bibliographic Details
Published inJournal of functional programming Vol. 34
Main Authors MATSUDA, KAZUTAKA, WANG, MENG
Format Journal Article
LanguageEnglish
Published Cambridge, UK Cambridge University Press 26.01.2024
Subjects
Online AccessGet full text
ISSN0956-7968
1469-7653
1469-7653
DOI10.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