Michael Sperber
Research Subjects
Michael Sperber has a total of 11 co-authors. Here are the top co-authors by number of shared publications:
- Anil Madhavapeddy
Computer Laboratory, University of Cambridge, 15 JJ Thomson Avenue, Cambridge CB3 0FD, UK
2 shared publications - Anton VAN Straaten
AppSolutions
1 shared publication - Jacob Matthews
University of Chicago
1 shared publication Jean Bresson
Repmus - Représentations musicales (France)
1 shared publication- Marius Eriksen
Twitter, Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, USA
1 shared publication - Markus Schlegel
Active Group, Tübingen, Germany
1 shared publication
Latest Publications
- Open Access
- 21 August 2026
- Published by Association for Computing Machinery (ACM)
- p. 14-19
Local-First Distributed Configuration (Experience Report)
We have been developing a distributed application called Lokalisierung using functional programming since 2015. Lokalisierung automatically configures mobiles devices in a large organization of car-inspection shops. It uses peer-to-peer synchronization to distribute configuration data among the devices, without the use of a central server. This paper describes the original design and evolution of the system. Specifically, we highlight how the event-based architecture supports synchronization but also enables flexibility for changes after the original rollout such as undoing configuration changes, and database thinning. We also reflect on design and implementation mistakes we made during its 10-year development.
- 21 August 2026
- Published by Association for Computing Machinery (ACM)
- p. 14-19
Open AccessLocal-First Distributed Configuration (Experience Report)
We have been developing a distributed application called Lokalisierung using functional programming since 2015. Lokalisierung automatically configures mobiles devices in a large organization of car-inspection shops. It uses peer-to-peer synchronization to distribute configuration data among the devices, without the use of a central server. This paper describes the original design and evolution of the system. Specifically, we highlight how the event-based architecture supports synchronization but also enables flexibility for changes after the original rollout such as undoing configuration changes, and database thinning. We also reflect on design and implementation mistakes we made during its 10-year development.
- Open Access
- 9 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 27-38
Evolution of Functional UI Paradigms
- 9 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 27-38
Open AccessEvolution of Functional UI Paradigms
- Open Access
- 9 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 21-26
Six Years of FUNAR
- 9 October 2025
- Published by Association for Computing Machinery (ACM)
- p. 21-26
Open AccessSix Years of FUNAR
- 1 October 2025
- Published by Springer Nature
- p. 3-15
Things We Never Told Anyone About Functional Programming
- 1 October 2025
- Published by Springer Nature
- p. 3-15
Things We Never Told Anyone About Functional Programming
- Open Access
- 24 May 2024
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 34, e6
A review for the Journal of Functional Programming of Sandy Maguire, Algebra-Driven Design (Leanpub, 2020).
- 24 May 2024
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 34, e6
Open AccessA review for the Journal of Functional Programming of Sandy Maguire, Algebra-Driven Design (Leanpub, 2020).
- Open Access
- 23 August 2019
- Published by Association for Computing Machinery (ACM)
Proceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design
- 23 August 2019
- Published by Association for Computing Machinery (ACM)
Open AccessProceedings of the 7th ACM SIGPLAN International Workshop on Functional Art, Music, Modeling, and Design
- 16 March 2015
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 25
CUFP'13 scribe's report
The Commercial Users of Functional Programming workshop (CUFP) is an annual workshop held in association with the International Conference on Functional Programming (ICFP). The aim of the CUFP workshops is to publicize the use of functional programming in commercial ventures. Its motto is “functional programming as a means, not an end.
- 16 March 2015
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 25
CUFP'13 scribe's report
The Commercial Users of Functional Programming workshop (CUFP) is an annual workshop held in association with the International Conference on Functional Programming (ICFP). The aim of the CUFP workshops is to publicize the use of functional programming in commercial ventures. Its motto is “functional programming as a means, not an end.
- 8 January 2014
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 23 (6) , 701-712
Commercial users of functional programming workshop report
Commercial Users of Functional Programming (CUFP) is an annual workshop that is aimed at the community of software developers who use functional programming in real-world settings. This scribe report covers the talks that were delivered at the 2012 workshop, which was held in association with International Conference on Functional Programming (ICFP) in Copenhagen, Denmark. The goal of the report is to give the reader a sense of what went on, rather than to reproduce the full details of the talks. Videos and slides from all the talks are available online at http://cufp.org.
- 8 January 2014
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 23 (6) , 701-712
Commercial users of functional programming workshop report
Commercial Users of Functional Programming (CUFP) is an annual workshop that is aimed at the community of software developers who use functional programming in real-world settings. This scribe report covers the talks that were delivered at the 2012 workshop, which was held in association with International Conference on Functional Programming (ICFP) in Copenhagen, Denmark. The goal of the report is to give the reader a sense of what went on, rather than to reproduce the full details of the talks. Videos and slides from all the talks are available online at http://cufp.org.
- 1 March 2009
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 19 (S1) , 1-301
Revised 6 Report on the Algorithmic Language Scheme
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. Scheme was one of the first programming languages to incorporate first-class procedures as in the lambda calculus, thereby proving the usefulness of static scope rules and block structure in a dynamically typed language. Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols, to use a single lexical environment for all variables, and to evaluate the operator position of a procedure call in the same way as an operand position. By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially gotos that pass arguments. Scheme was the first widely used programming language to embrace first-class escape procedures, from which all previously known sequential control structures can be synthesized. A subsequent version of Scheme introduced the concept of exact and inexact number objects, an extension of Common Lisp's generic arithmetic. More recently, Scheme became the first programming language to support hygienic macros, which permit the syntax of a block-structured language to be extended in a consistent and reliable manner.
- 1 March 2009
- Published by Cambridge University Press (CUP) in Journal of Functional Programming
- Vol. 19 (S1) , 1-301
Revised 6 Report on the Algorithmic Language Scheme
Programming languages should be designed not by piling feature on top of feature, but by removing the weaknesses and restrictions that make additional features appear necessary. Scheme demonstrates that a very small number of rules for forming expressions, with no restrictions on how they are composed, suffice to form a practical and efficient programming language that is flexible enough to support most of the major programming paradigms in use today. Scheme was one of the first programming languages to incorporate first-class procedures as in the lambda calculus, thereby proving the usefulness of static scope rules and block structure in a dynamically typed language. Scheme was the first major dialect of Lisp to distinguish procedures from lambda expressions and symbols, to use a single lexical environment for all variables, and to evaluate the operator position of a procedure call in the same way as an operand position. By relying entirely on procedure calls to express iteration, Scheme emphasized the fact that tail-recursive procedure calls are essentially gotos that pass arguments. Scheme was the first widely used programming language to embrace first-class escape procedures, from which all previously known sequential control structures can be synthesized. A subsequent version of Scheme introduced the concept of exact and inexact number objects, an extension of Common Lisp's generic arithmetic. More recently, Scheme became the first programming language to support hygienic macros, which permit the syntax of a block-structured language to be extended in a consistent and reliable manner.