Summary

In this chapter, we further deepened the main concepts of FRP.

In the first part, we presented the main differences between the discrete and continuous components, showing both theoretical analysis and examples of code. Afterward, we discussed the time flow and the asynchronous data flow. Then, we introduced Computation Expressions and also the concept of Monad.

In the second and last half of the chapter, we discussed the flow of choices, Railway-oriented Programming, and finally, the module Observable.

On reaching this point, we acquired all theoretical basic information to apply Reactive Programming and Functional Reactive Programming.

It is fundamental to understand how much these two paradigms are continuously intertwined. In fact, talking about Linq and Rx is almost the same as FRP and vice versa.

On the Web, there are not many concrete examples about using FRP through F# language. However, with little practice and knowledge of functional language Haskell, on the site Microsoft Academic (Link: https://academic.microsoft.com/ ) there are lots of documents you can  download that either implement and extend FRP to real cases or simply describe the principles.

To those who develop and program with object-oriented languages, I also suggest to learn to get used to compositional thinking when dealing with functional programming.

In fact, most of everyday architecture and design pattern used in OOP are just simple functions in F# and in functional paradigm languages in general. Therefore, it could be useful to extend the way of thinking to a better subdivision of these functions, so compositional thinking could be the right way.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.8.8