Xavier Detant

Co-organizer of the Paris software craftsmanship community and the SoCraTes France unconference, knowledge sharing is at the core of my mindset.

Craftsman by day, fighting misunderstanding, frustration and anger with empathy and communication by night.

NewCrafts 2017


Functional Programming Slices -- Discovering functional programming with Haskell

  • lab
  • Functional
  • Code
  • Craftsmanship

You are interested in functional programming but don't know where to start or even which language? Haskell is the language to play with in order to discover functional programming.

It allows constructs that fits perfectly to that paradigm.

The problem is : Haskell is scary ! It comes with a uncommon syntax and a lot of fearful concepts (monads, functors, monoids, algebraic types, curryfication,...) The truth is : you don't need to master all these concepts to enjoy the power and the elegance of that language! Come play with Haskell, programming a Poker judge ! You'll be guided during this journey by two passionate haskellers who meet every week just for the sake of practice.

You'll leave this session with : a simple but powerful program written in Haskell able to be judge on a Texas Hold'em game many tests a lot of fun new skills usable as is on your current project!


  • Hands on session requiring a laptop with GHC installed for every two participant (if pairing)

  • Flip char, beamer

  • Pair programming strongly advised

  • The session is driven by the presentation containing the code for tests and hints as well

  • Participants discover Haskell while coding Topics covered

  • program = function evaluation

  • strong typing

  • pattern matching

  • list functions

  • functions as values

  • partial application and curryfication Haskell language practice

  • participants receive help on demand

  • smooth learning progression Discussion over functional patterns

  • debriefs about similar constructs in different languages and contexts Take away

  • a first experience of the Haskell language

  • a discovery of the functional approach

  • ideas to compare with one's own approach in programming

  • Haskell code with tests

  • lots of fun!

Room: Goldberg - Time: 5/19/2017 10:45:00 AM