Proceedings of the 2016 ACM International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software 2016
DOI: 10.1145/2986012.2986014
|View full text |Cite
|
Sign up to set email alerts
|

Function passing: a model for typed, distributed functional programming

Abstract: 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 … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
9
0

Year Published

2017
2017
2024
2024

Publication Types

Select...
7
1
1

Relationship

0
9

Authors

Journals

citations
Cited by 11 publications
(9 citation statements)
references
References 23 publications
0
9
0
Order By: Relevance
“…Multitier Programming Multitier programming [13,14,43,45,46,47,53] is in the tradition of programming languages for distributed systems with influential languages such as Argus [28], Emerald [4], Distributed Oz [22,58] and Dist-Orc [2]. More recent contributions focus on specific design aspects, e.g., cloud types to ensure eventual consistency [7], conflict-free replicated data types (CRDT) [55], language support for safe distribution of computations [34] and fault tolerance [33].…”
Section: Related Workmentioning
confidence: 99%
“…Multitier Programming Multitier programming [13,14,43,45,46,47,53] is in the tradition of programming languages for distributed systems with influential languages such as Argus [28], Emerald [4], Distributed Oz [22,58] and Dist-Orc [2]. More recent contributions focus on specific design aspects, e.g., cloud types to ensure eventual consistency [7], conflict-free replicated data types (CRDT) [55], language support for safe distribution of computations [34] and fault tolerance [33].…”
Section: Related Workmentioning
confidence: 99%
“…ctx |-{A: forall: "?e": event []-> "?e" =>> ("Fs'" $ "Fn", "Fors", "Fois") = request C $ "Fn" $ ("Fs" $ "Fn") $ "?e"} (c) High-level DSLs, language extensions and tools [Bakst et al 2017;Biely et al 2013;Burckhardt et al 2012;Cejtin et al 1995;Kato et al 1993;Ketsman et al 2019;Killian et al 2007;Liu et al 2012;Miller et al 2016;Salvaneschi et al 2019;Samanta et al 2013;Weisenburger et al 2018] have been used to raise the level of abstraction, and improve the reliability of distributed systems. Model checking has been extensively applied for bounded verification [Dutertre et al 2018;Jackson 2006;John et al 2013;Killian et al 2007;Konnov et al 2017;Marić et al 2017;Musuvathi and Engler 2004;Yabandeh et al 2009;Yang et al 2009;Zave 2012] of distributed algorithms.…”
Section: Related Workmentioning
confidence: 99%
“…CPL [Bračevac et al 2016] is a calculus to create and combine multiple services in a type safe manner. Function passing [Haller et al 2018;Miller et al 2016] defines derived values of immutable remote data in a type safe way. Concurrent Objects [Filipović et al 2010] provides objects with serializability and linearizability by guaranteeing that concurrent implementations behave observational equivalent to sequential implementations.…”
Section: Formal Models For Concurrent and Distributed Computationsmentioning
confidence: 99%