Purely Functional Incremental Computing
- Cite this paper as:
- Firsov D., Jeltsch W. (2016) Purely Functional Incremental Computing. In: Castor F., Liu Y. (eds) Programming Languages. SBLP 2016. Lecture Notes in Computer Science, vol 9889. Springer, Cham
Many applications have to maintain evolving data sources as well as views on these sources. If sources change, the corresponding views have to be adapted. Complete recomputation of views is typically too expensive. An alternative is to convert source changes into view changes and apply these to the views. This is the key idea of incremental computing. In this paper, we use Haskell to develop an incremental computing framework. We illustrate the concepts behind this framework by implementing several example computations on sequences. Our framework allows the user to implement incremental computations using arbitrary monad families that encapsulate mutable state. This makes it possible to use highly efficient algorithms for core computations.