Abstract
Recursive value definitions in the context of functional programming languages that are based on a call-by-value semantics are known to be challenging. A lot of prior work exists in the context of languages such as Scheme and OCaml. In this paper, we look at the problem of recursive array definitions within a call-by-value setting. We propose a solution that enables recursive array definitions as long as there are no cyclic dependences between array elements. The paper provides a formal semantics definition, sketches possible compiler implementations and relates to a prototypical implementation of an interpreter in OCaml. Furthermore, we briefly discuss how this approach could be extended to other data structures and how it could serve as a basis to further extend mutually recursive value definitions in a call-by-value setting in general.
| Original language | English |
|---|---|
| Title of host publication | Proceedings of the 29th Symposium on the Implementation and Application of Functional Programming Languages |
| Publisher | Association for Computing Machinery |
| ISBN (Print) | 9781450363433 |
| DOIs | |
| Publication status | Published - 30 Aug 2017 |
| Event | 29th Symposium on the Implementation and Application of Functional Programming Languages 2017 - Bristol, United Kingdom Duration: 30 Aug 2017 → 1 Sept 2017 |
Conference
| Conference | 29th Symposium on the Implementation and Application of Functional Programming Languages 2017 |
|---|---|
| Abbreviated title | IFL 2017 |
| Country/Territory | United Kingdom |
| City | Bristol |
| Period | 30/08/17 → 1/09/17 |
Keywords
- Array comprehensions
- Array programming
- Call by value
- Functional languages
ASJC Scopus subject areas
- Human-Computer Interaction
- Computer Networks and Communications
- Computer Vision and Pattern Recognition
- Software
Fingerprint
Dive into the research topics of 'Recursive Array Comprehensions in a Call-by-Value Language'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver