Destructuring and Pattern Matching
In this session, we will look De-structuring and Pattern Matching in Functional Programming. What exactly each is and how differently it gets implemented in various languages like languages like Scala, Clojure, Haskell, Erlang, JavaScript. In some languages like Haskell and Scala, it takes a unified form, whereas in languages like Clojure, the two are different
In OO paradigm, this is takes the form of Double-Dispatch or n-Dispatch and usually gets implemented as the famous (or infamous) Visitor Pattern. We will look at how this pattern is made defunct in FP paradigm using Pattern Matching.
Outline/Structure of the Demonstration
- Quick overview of the concept
- All live coding in different languages (JavaScript, Haskell, Erlang, Scala, Clojure)
- Moving away from the Visitor Pattern
- Q & A (last 5-10 mins)
Learning Outcome
Understand the concept so that they are able to look for scenarios where this can be applied in their day-to-day work.
Target Audience
Developers interested in exploring this concept
Prerequisites for Attendees
An open mind!
Links
- https://confengine.com/functional-conf-2017/proposal/4066/code-jugalbandi
- https://confengine.com/functional-conf-2015/proposal/1459/drying-to-monads-in-java8
schedule Submitted 2 years ago
People who liked this proposal, also liked:
-
keyboard_arrow_down
Ravindra Jaju - Asynchronous Functional Programming on the JVM
45 Mins
Demonstration
Beginner
We'll take a close look at core.async - the CSP library for Clojure(script).
- The motivation
- Problems suitable for CSPs to handle
- Syntax
- Patterns
Given the minimalist nature of Lisps, the syntax is underwhelming, but applications can be exciting in the manner they make complex problems within reach.