Fantastic Mr. Function

Functional programming has long been sidelined and relegated to academia, but has lately been getting under spotlight and gaining traction within mainstream programming circles. Have you ever tried getting into functional programming but struggled to make it past built-in abstractions like filter/map/reduce? Were you born into OOP world but curious to discover other programming paradigms? Dive into the world of functions with this practical two-day workshop. Upon completion, you should develop the intuition to think functionally and be well-equipped to further explore the wonderful world of functional programming, algebraic data types and category theory.

Learn how to

  • Reason about functions as first-class values, pass them around as parameters and return as results
  • Embrace the power of closures
  • Use functional decorators to build highly reusable abstractions and encapsulate cross-cutting concerns
  • Employ functional composition to create new functions ‘for free’, from (well, almost) nothing
  • Go point-free
  • Grok function type signatures

Programme

  • Function as a value
  • Closures
  • Pure and impure functions
  • Higher-order functions
  • Functional combinators and decorators
  • Partial application and curried functions
  • Point-free
  • Functional composition
  • Function type signatures (Hindley-Milner)

Audience

This workshop is designed for experienced JavaScript Developers designing, creating and maintaining complex applications.

Prerequisites

To get the most out of the workshop, you should have hands-on experience with JavaScript and software design.

Labs & Exercises

This workshop is a combination of lectures, discussions and practical exercises.

Installation Guide

  • Workstations with internet access
  • Git client
  • NodeJS 10
  • Google Chrome (or any other modern browser)
  • Visual Studio Code (or any other text-editor/IDE)

This is a BYOD (bring your own device) workshop.