€544.50

Yin and Yang of Haskell Workshop with Alejandro Serrano

Event Information

Share this event

Date and Time

Location

Location

Palacio de Congresos de Cádiz

s/n Calle Plocia

11006 Cádiz

Spain

View Map

Refund Policy

Refund Policy

Refunds up to 30 days before event

Event description

Description

This full-day training workshop will take place the day prior to the Lambda World Cádiz conference. This is an add-on event and is not included with a ticket to Lambda World. Food and beverages during the workshop are included.

Please note there are ONLY 15 seats available for this workshop.

Yin and Yang of Haskell

Trainer: Alejandro Serrano

In this full-day workshop, you have the chance to learn how to design and build applications using Haskell, one of the better-known functional languages. Haskell shines in describing business domains in a pure way, and this purity gives fertile ground for nice abstractions for concurrency. But every application needs to talk to the outer world, hence the need to understand the other, impure, side of the coin.

This workshop is not only useful for those working in Haskell codebases. The same ideas and concepts pop up when using other languages in a pure functional manner, such as Scala with Cats/Scalaz, Kotlin with Arrow, or Swift with Bow.

Contents

The workshop is divided into three parts:

  1. The Yin: pure modeling

    1. Simple modeling using algebraic data types

    2. Extracting dependencies into type classes

    3. Modeling services using monads

    4. Enforcing more invariants using GADTs

  2. The Yang: impure execution

    1. The base model: laziness and exceptions

    2. Basic input/output in the IO monad

    3. Cheap concurrency using green threads and STM

    4. Streams of data: databases and message queues

  3. The Duality: common architectural patterns

    1. Functional core, imperative shell

    2. Onion architecture

Prerequisites

This workshop assumes some familiarity with basic functional programming notions:

  • pattern matching (match in Scala, switch in Swift, when in Kotlin)

  • higher-order functions: you should be able to define map or filter

  • polymorphism (generics in Java/Scala/Swift/Kotlin): you should be able to write a type-independent map

As a general check, you should be ready for the course if you can define your own list type using case classes/enumerations with values, and a map function over that type which works independently of the type of the elements.

It is also useful to have some basic experience with Haskell syntax, in particular with the definition of data types and pattern matching. The first 8 chapters of "Learn You A Haskell" (freely available online) cover these topics.


About Alejandro:

Alejandro Serrano is a lecturer at Utrecht University and author of The Book of Monads and Beginning Haskell.



Share with friends

Date and Time

Location

Palacio de Congresos de Cádiz

s/n Calle Plocia

11006 Cádiz

Spain

View Map

Refund Policy

Refunds up to 30 days before event

Save This Event

Event Saved