Saurabh will be presenting the following sessions
Naresh Jain / Saurabh Nanda - Q & A Session With Functional Conf Speakers
Saurabh Nanda - Getting property-based testing to work after struggling for 3 yearsSaurabh NandaFounderVacation Labs
schedule 1 year agoSold Out!
I got excited about property-based testing after hearing John Hughes talk at Functional Conf 2016. I tried it that year with QuickCheck, but failed miserably (it almost derailed the entire project delivery). I cribbed about it in my talk at Functional Conf 2017. In 2018, Srihari's talk got me excited again. This time, I tried with Hedgehog, and got it to work!
This talk is about this journey and its learnings. We'll talk about how Hedgehog was used to test :
- A Postgres backed task/job queue
- A small Wai/Servant based webapp
And no, we will not talk about the most common (and completely useless) example of reversing a list!
 Both of these are part of an open-sourced task/job queue library.
Saurabh Nanda - Why is Haskell so hard to learn? (and how to deal with it)Saurabh NandaFounderVacation Labs
schedule 1 year agoSold Out!
Haskell is notoriously hard to learn. I have struggled with the learning curve. I have seen others struggle with it. And I have seen developers struggling to wield the language effectively even after months of learning.
We'll talk about five things that give Haskell this (understandably) bad rep, and how to effectively deal with them during your learning phase.
1. What got you into Functional Programming (FP)?
- Frustrations of trying to tame a 200,000+ LoC Rails/Angular application.
- Haskell's marketing (which now I know is not 100% true!):
- If it compiles, it works
- It doesn't allow you to write incorrect code
2. What has been your best moment or highlight working with FP?
Now this happens almost on a weekly basis. Towards the fag-end of a build/release, we realise that we've missed something subtle, but critical, in the core of the application. Change a core data-structure => fix compiler errors => and voila, it still works!
3. What are some of the greatest challenges of working with FP?
(with respect to Haskell) Editor tooling, and a language torn between academia and industry.
4. All the mainstream programming languages are adding functional programming features. Most new languages and frameworks are strongly influenced by FP. What is your advice to object-oriented programmers?
Avoid mutation. At least, as much as possible, avoid "unprincipled mutation".
5. What will be some of the key takeaways from your sessions at the conference?
I love sharing real-life pros & cons of using Haskell. While the talk on property-based testing is based on actual experience in a production environment ; the talk on learning Haskell is a throwback to what I (and other team members) have struggled with, and in hind-sight, how the pain in this learning process could've been reduced.
Basically, bridging the gap between Haskell in theory, and Haskell in practice.
6. The conference has more than 50 sessions. Which ones are you most looking forward to attending and why?
- Harendra's talk about Streamly - I'm fascinated with the library and it's promise of converging/fusing concurrency, streaming, and list processing into one easy-to-use API. The fact that it beats every other library in benchmarks is also fascinating.
- Alexander's talk about Free Monads - At Vacation Labs we use mtl style monad transformers, and I've always been curious about the pros & cons of Free Monads. Plus Alexander is working with Juspay who have spoken about their innovative use of monads to write UI flows. This should be an interesting talk grounded in production/real-life use of Free Monads.
- Sreenidhi's experience report about Haskell @ ByteAlly - Would be interesting to compare notes with ByteAlly about using Haskell in production.