Designing concurrent applications in Haskell and Erlang
Functional languages are in the news for many good reasons. One of them is the method in which they solve the traditional problems relating to concurrency and parallelism while keeping the troubles of shared state at bay.
This talk is to explore the paradigms of concurrency in these languages and realize the advantages of such paradigms over the traditional ones. Its pretty much evident in the recent past how simple apps have scaled massively without any hiccups using Erlang, Haskell and other functional languages and this talk will also show a demo of a scalable cache written in both Erlang and Haskell and simulating them for their performance and integrity.
Outline/structure of the Session
1) Introduction to Concurrency and Parallelism
-Basic introduction followed by the problems with imperative languages in combating concurrency.
2) Achieving concurrency in Erlang and Haskell
- STM and message passing
3) Details of basic implementation of a cache in both languages and simulation of the cache
4) Things to keep in mind
The audience will have a better understanding of the concurrency models being adopted in the two of the languages and the kind of problems they attempt to solve. They will be armed with the knowledge of implementing these models in the respective languages. Overall they will be able to appreciate better the advantages of designing such a system in functional languages such as Erlang or Haskell.
Developers, Leads and anyone interested in scaling their apps the functional way