Recursive Array Comprehensions in a Call-by-Value Language

Artjoms Sinkarovs, Sven-Bodo Scholz, Robert Stewart, Hans-Nikolai Vießmann

Research output: Chapter in Book/Report/Conference proceedingConference contribution

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 languageEnglish
Title of host publicationProceedings of the 29th Symposium on the Implementation and Application of Functional Programming Languages
PublisherAssociation for Computing Machinery
ISBN (Print)9781450363433
DOIs
Publication statusPublished - 30 Aug 2017
Event29th Symposium on the Implementation and Application of Functional Programming Languages 2017 - Bristol, United Kingdom
Duration: 30 Aug 20171 Sep 2017

Conference

Conference29th Symposium on the Implementation and Application of Functional Programming Languages 2017
Abbreviated titleIFL 2017
CountryUnited Kingdom
CityBristol
Period30/08/171/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

    Sinkarovs, A., Scholz, S-B., Stewart, R., & Vießmann, H-N. (2017). Recursive Array Comprehensions in a Call-by-Value Language. In Proceedings of the 29th Symposium on the Implementation and Application of Functional Programming Languages [5] Association for Computing Machinery. https://doi.org/10.1145/3205368.3205373