Clément Delafargue

I'm a functional programmer, working primarily with Haskell at Fretlink.

NewCrafts Paris 2019

Application design with a stack of monads

  • Talk
  • functional
  • design

Functional Programming is often seen as a nice tool for small-scale concerns, not as a tool for application design. "Functional in the small, OO in the large" is often heard and sums up this idea quite well. However, functional programming comes with interesting tools aimed at solving these boring (or deemed boring) concerns: dependency inversion, observability). Aspect-Oriented-Programming is often used for this in the OO word.

A functional solution, called a monad stack, allows to combine all this cross-cutting concerns and behaviours with no magic (or not too much).

In this conference, we'll see what monad transformers are, how they work, and how to use them to structure a web application, with examples in scala and haskell.

Room: Hopper - Time: 5/16/2019 10:30:00 AM


NewCrafts 2016

Beyond flux: going full cycle with functional reactive programming

  • Talk
  • Functional
  • Design
  • Web

React and flux have shown us how to design UI in a modular fashion. One of the core ideas, is that data should always flow in one direction. With this concept, it's easier to build applications from independent modules. I'll show what react core concepts are and how they allow developers to manage complexity in big applications.

I'll then show how to go one step further with Functional Reactive Programming and RxJS. After explaining what FRP is (and isn't), I'll show how FRP principles can unify a lot of different things in flux architectures. Cycle.js allows us to have a single direction rendering loop by representing both DOM and user interaction with observables, which come with an extensive API. FRP has been used for some time in UI frameworks (eg Reactive Cocoa for MacOS). Now its time has come in the javascript world, thanks to libraries like RxJS and to the ideas pushed forward by React and Flux.

At the end of the talk, you'll have a basic understanding of how Flux works, you'll know how RxJS works and how you can use FRP to design your client side applications.

Room: Gallia - Time: 5/12/2016 1:45:00 PM


Code of conduct

Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, or religion (or lack thereof). We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.