Dhall as a Gateway-drug to Typed Functional Programming

location_city Online schedule Mar 26th 11:30 AM - 12:15 PM IST place Zoom people 34 Interested

Haskell (and the kind of Statically Typed Functional Programming that it promotes) 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.

But it is not necessary to jump into the weird world of Monad, Monoid, and Endofunctors. There are neighbouring languages that can be immediately put to good use and introduce some of the Typed FP concepts more gradually.

We'll talk about one of them - Dhall: A Typed FP language specifically for configuration management.


Outline/Structure of the Talk

  • Quick demo of Dhall for Config Management - 5 mins
  • Quick recap of why Statically-typed Functional Programming (Typed FP) is hard for newcomers (the kind of FP that Haskell and friends promote)
    • Specific concepts that are very alien to most developers working with other mainstream languages (like Java, C#, Ruby, Python, Javascript, etc) - 5 mins
  • Why diving into the deep-end of Typed FP may actually be counterproductive when introduced to teams - 5 mins
  • Some neighbouring languages like Elm that give a gradual learning curve to Typed FP - 5 mins
  • Introduction to Dhall and why it might be a good choice to introduce Typed FP - 20 mins
    • Practical problems that Dhall solves which make it worthwhile to learn, i.e. configuration management 
    • Specific concepts that are common between Dhall and other Typed FP languages
  • Q & A -  5 mins

Learning Outcome

  • Understanding of what makes Typed FP hard for beginners
  • Understanding of Dhall as a Typed FP language and the problem that it solves (configuration management)
  • Understanding of some options in flattening the steep learning curve of Typed FP

Target Audience

Anyone who is curious about typed functional-programming: how to get started with it, or how to introduce FP to your colleagues/team-members.

Prerequisites for Attendees

No prerequisites. Just a curious an open mind :-)



schedule Submitted 5 months ago

  • Luca Mugnaini

    Luca Mugnaini - Familiarity or Guarantees? Functional Programming for the front-end

    Luca Mugnaini
    Luca Mugnaini
    Software Engineer
    schedule 7 months ago
    Sold Out!
    20 Mins
    Experience Report

    In the front-end world, we finally can take an important decision: Familiarity or Guarantees?

    Do we keep using frameworks that are familiar to JavaScript (bringing with them all JS idiosyncrasies) or do we embrace a world of guarantees where functions are pure, data is immutable, types are correct, and runtime exceptions don’t exist?

    In Rakuten, we went the way of guarantees three years ago, choosing Elm.

    In this talk, I am going to explain what are the benefits of Elm in the front-end, and what was our experience.

    I will showcase examples, best practices, things that we liked, and things that we didn't like.