Creating a whole application respecting the precepts of functional programming might seem like an impossible task. How can you write any meaningful software if you cannot have any side-effects? In order to perform any kind of computation, you will need at least some inputs and display results.
Functional languages have various mechanisms to circumvent those limitations. We will quickly present some of them so that you can have a better idea about how an application can be written in a purely functional way.
We will then learn more in depth about a paradigm called Functional Reactive Programming (FRP), as a way to design an application having a user interface. We will lay the foundation for using this technique in PHP to see if it is possible to use it to write a complete application.
In this chapter, you will learn about the following topics:
Writing a complete application in a purely functional language
Functional Reactive Programming
Designing a...