Repository logo

Infoscience

  • English
  • French
Log In
Logo EPFL, École polytechnique fédérale de Lausanne

Infoscience

  • English
  • French
Log In
  1. Home
  2. Academic and Research Output
  3. Conferences, Workshops, Symposiums, and Seminars
  4. Function Passing: A Model for Typed, Distributed Functional Programming
 
conference paper

Function Passing: A Model for Typed, Distributed Functional Programming

Miller, Heather  
•
Haller, Philipp  
•
Müller, Normen
Show more
2016
Onward!'16: Proceedings Of The 2016 Acm International Symposium On New Ideas, New Paradigms, And Reflections On Programming And Software
ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity, Onward! Research Papers

The most successful systems for “big data” processing have all adopted functional APIs. We present a new programming model we call function passing designed to provide a more principled substrate on which to build data-centric distributed systems. A key idea is to build up a persistent functional data structure representing transformations on distributed immutable data by passing well-typed serializable functions over the wire and applying them to this distributed data. Thus, the function passing model can be thought of as a persistent functional data structure that is distributed, where transformations to data are stored in its nodes rather than the distributed data itself. The model simplifies failure recovery by design–data is recovered by replaying function applications atop immutable data loaded from stable storage. Deferred evaluation is also central to our model; by incorporating deferred evaluation into our design only at the point of initiating network communication, the function passing model remains easy to reason about while remaining efficient in time and memory. We formalize our programming model in the form of a small-step operational semantics which includes a semantics of functional fault recovery, and we provide an open-source implementation of our model in and for the Scala programming language, along with a case study of several example frameworks and end-user programs written atop of this model.

  • Files
  • Details
  • Metrics
Type
conference paper
DOI
10.1145/2986012.2986014
Web of Science ID

WOS:000387827200007

Author(s)
Miller, Heather  
Haller, Philipp  
Müller, Normen
Boullier, Jocelyn  
Date Issued

2016

Publisher

Assoc Computing Machinery

Publisher place

New York

Published in
Onward!'16: Proceedings Of The 2016 Acm International Symposium On New Ideas, New Paradigms, And Reflections On Programming And Software
ISBN of the book

978-1-4503-4076-2

Total of pages

16

Start page

82

End page

97

Subjects

Functional programming

•

distributed programming

•

functions

•

closures

•

serialization

•

concurrency

•

types

•

Scala

Editorial or Peer reviewed

REVIEWED

Written at

EPFL

EPFL units
LAMP1  
Event nameEvent placeEvent date
ACM SIGPLAN Conference on Systems, Programming, Languages and Applications: Software for Humanity, Onward! Research Papers

Amsterdam, Netherlands

November 2-4, 2016

Available on Infoscience
February 28, 2015
Use this identifier to reference this record
https://infoscience.epfl.ch/handle/20.500.14299/111768
Logo EPFL, École polytechnique fédérale de Lausanne
  • Contact
  • infoscience@epfl.ch

  • Follow us on Facebook
  • Follow us on Instagram
  • Follow us on LinkedIn
  • Follow us on X
  • Follow us on Youtube
AccessibilityLegal noticePrivacy policyCookie settingsEnd User AgreementGet helpFeedback

Infoscience is a service managed and provided by the Library and IT Services of EPFL. © EPFL, tous droits réservés