NDLI logo
  • Content
  • Similar Resources
  • Metadata
  • Cite This
  • Log-in
  • Fullscreen
Log-in
Do not have an account? Register Now
Forgot your password? Account recovery
  1. Proceedings of the 27th Symposium on the Implementation and Application of Functional Programming Languages (IFL '15)
  2. Interpretation and programming of the reversible functional language RFUN
Loading...

Please wait, while we are loading the content...

Static and dynamic visualisations of monadic programs
Foreign exchange at low, low rates a lightweight FFI for web-targeting Haskell dialects
Polymonad programming in Haskell
Type inference for array programming with dimensioned vector spaces
Fixing non-determinism
Sharing-aware improvements in a call-by-need functional core language
A verified type system for CakeML
Interpretation and programming of the reversible functional language RFUN
Isomorphisms considered as equalities: Projecting functions and enhancing partial application through an implementation of $λ^{+}$
Dynamic adaptation of functional runtime systems through external control
Making fortran legacy code more functional: using the BGS* geomagnetic field modelling system as an example

Similar Documents

...
A reversible programming language and its invertible self-interpreter

Article

...
Cleaning Up: Garbage-Free Reversible Circuits by Design Languages

Article

...
Inverse computation and the Universal Resolving Algorithm

Article

...
A functional quantum programming language

Article

...
A difference-list transformation for functional logic languages (2000).

...
Automating Functional Program Transformation (2000)

...
Can programming be liberated from the von Neumann style?

Article

...
A note on elimination of simplest recursions

Article

...
A simple optimizer for FP-like languages

Article

Interpretation and programming of the reversible functional language RFUN

Content Provider ACM Digital Library
Author Axelsen, Holger Bock Thomsen, Michael Kirkedal
Abstract rfun is a small first-order reversible functional language introduced by Yokoyama et al. in 2012. The present paper aims to further the understanding of reversible functional programming (and RFUN in particular) by describing implementations in, and of, the RFUN language. After briefly summarizing rfun in terms of syntax and semantics, we first (informally) describe a transformation from the simple irreversible first-order language fun to rfun. This highlights how irreversibility is avoided in rfun, such as in the use of the so-called first-match policy. It also emphasizes the fact that rfun is trace-less, while also showing how the standard reversible (trace-full) embeddings of Landauer and Bennett can be implemented. Second, we outline (by examples) a number of the reversible functions that have been implemented in rfun. The programming examples given here focus on Peano arithmetic and list functions, and are intended to show various useful programming techniques of the reversible functional programming paradigm. Finally, we discuss the implementation of rfun. This is twofold as we relate a Haskell implementation of an rfun interpreter, to an implementation of a self-interpreter, i.e., an rfun interpreter implemented in rfun. Although rfun does not have the rich and expressive syntax of Haskell---which makes programming the self-interpreter more cumbersome in some aspects---the built-in support for reverse execution greatly reduces the code base and makes the rfun-based self-interpreter implementation follow the formal semantics of rfun more directly than the Haskell-based interpreter.
Starting Page 1
Ending Page 13
Page Count 13
File Format PDF
ISBN 9781450342735
DOI 10.1145/2897336.2897345
Language English
Publisher Association for Computing Machinery (ACM)
Publisher Date 2015-09-14
Publisher Place New York
Access Restriction Subscribed
Subject Keyword Reversibilization Reversible computing Reversible functional programming Functional programming languages Program transformation Self-interpretation
Content Type Text
Resource Type Article
  • About
  • Disclaimer
  • Feedback
  • Sponsor
  • Contact
  • Chat with Us
About National Digital Library of India (NDLI)
NDLI logo

National Digital Library of India (NDLI) is a virtual repository of learning resources which is not just a repository with search/browse facilities but provides a host of services for the learner community. It is sponsored and mentored by Ministry of Education, Government of India, through its National Mission on Education through Information and Communication Technology (NMEICT). Filtered and federated searching is employed to facilitate focused searching so that learners can find the right resource with least effort and in minimum time. NDLI provides user group-specific services such as Examination Preparatory for School and College students and job aspirants. Services for Researchers and general learners are also provided. NDLI is designed to hold content of any language and provides interface support for 10 most widely used Indian languages. It is built to provide support for all academic levels including researchers and life-long learners, all disciplines, all popular forms of access devices and differently-abled learners. It is designed to enable people to learn and prepare from best practices from all over the world and to facilitate researchers to perform inter-linked exploration from multiple sources. It is developed, operated and maintained from Indian Institute of Technology Kharagpur.

Learn more about this project from here.

Disclaimer

NDLI is a conglomeration of freely available or institutionally contributed or donated or publisher managed contents. Almost all these contents are hosted and accessed from respective sources. The responsibility for authenticity, relevance, completeness, accuracy, reliability and suitability of these contents rests with the respective organization and NDLI has no responsibility or liability for these. Every effort is made to keep the NDLI portal up and running smoothly unless there are some unavoidable technical issues.

Feedback

Sponsor

Ministry of Education, through its National Mission on Education through Information and Communication Technology (NMEICT), has sponsored and funded the National Digital Library of India (NDLI) project.

Contact National Digital Library of India
Central Library (ISO-9001:2015 Certified)
Indian Institute of Technology Kharagpur
Kharagpur, West Bengal, India | PIN - 721302
See location in the Map
03222 282435
Mail: support@ndl.gov.in
Sl. Authority Responsibilities Communication Details
1 Ministry of Education (GoI),
Department of Higher Education
Sanctioning Authority https://www.education.gov.in/ict-initiatives
2 Indian Institute of Technology Kharagpur Host Institute of the Project: The host institute of the project is responsible for providing infrastructure support and hosting the project https://www.iitkgp.ac.in
3 National Digital Library of India Office, Indian Institute of Technology Kharagpur The administrative and infrastructural headquarters of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
4 Project PI / Joint PI Principal Investigator and Joint Principal Investigators of the project Dr. B. Sutradhar  bsutra@ndl.gov.in
Prof. Saswat Chakrabarti  will be added soon
5 Website/Portal (Helpdesk) Queries regarding NDLI and its services support@ndl.gov.in
6 Contents and Copyright Issues Queries related to content curation and copyright issues content@ndl.gov.in
7 National Digital Library of India Club (NDLI Club) Queries related to NDLI Club formation, support, user awareness program, seminar/symposium, collaboration, social media, promotion, and outreach clubsupport@ndl.gov.in
8 Digital Preservation Centre (DPC) Assistance with digitizing and archiving copyright-free printed books dpc@ndl.gov.in
9 IDR Setup or Support Queries related to establishment and support of Institutional Digital Repository (IDR) and IDR workshops idr@ndl.gov.in
I will try my best to help you...
Cite this Content
Loading...