Given a simple recursive function, we show how to extract from it a reversible and an classical iterative part. Those parts can synchronously cooperate under a Producer/Consumer pattern in order to implement the original recursive function. The reversible producer is meant to run on reversible hardware. We also discuss how to extend the extraction to a more general compilation scheme.

Splitting Recursion Schemes into Reversible and Classical Interacting Threads

Paolini Luca;Roversi Luca
2021-01-01

Abstract

Given a simple recursive function, we show how to extract from it a reversible and an classical iterative part. Those parts can synchronously cooperate under a Producer/Consumer pattern in order to implement the original recursive function. The reversible producer is meant to run on reversible hardware. We also discuss how to extend the extraction to a more general compilation scheme.
2021
International Conference on Reversible Computation
Nagoya, Japan (on-line per restrizioni COVID19)
July 7 - July 8, 2021,
Reversible Computation 13th International Conference, RC 2021, Virtual Event, July 7–8, 2021, Proceedings
Springer International Publishing
204
213
978-3-030-79836-9
978-3-030-79837-6
https://www.springerprofessional.de/en/splitting-recursion-schemes-into-reversible-and-classical-intera/19284410
Armando Matos; Paolini Luca; Roversi Luca
File in questo prodotto:
File Dimensione Formato  
978-3-030-79837-6_12.pdf

Accesso aperto

Tipo di file: PDF EDITORIALE
Dimensione 874.87 kB
Formato Adobe PDF
874.87 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/1794961
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? 0
social impact