Julien Richard-Foy

“Code designer”


Since 2011, I have been giving consulting and training services for companies I’ve worked for, I have been a temporary teacher for universities and I have created a MOOC.

I mainly teach software engineering, functional programming, Web programming, Scala, Scala.js, Akka and Play.


Endpoints — A quest for the right level of coupling. Scala Italy, September 2019, Bologna, Italy (slides, video).

The next() Collections. Scala.io, November 2017, Lyon, France (slides, video).

Do it with (free?) arrows! Typelevel Summit, June 2017, Copenhagen, Denmark (slides, video).

Existential types: make OOP great again! Scaladays, June 2017, Copenhagen, Denmark (slides, video).

Using Object Algebras To Design Domain Specific Embedded Languages. Curry On, July 2016, Roma, Italy (slides, video).

La programmation fonctionnelle, c’est juste pour faire des preuves ? Breizhcamp, March 2016, Rennes, France (slides).

Deriving the Documentation of JSON Protocols from their Implementation, Lambda Days, February 2016, Krakow, Poland (slides).

Web programming in Scala using js-scala (material is available here). mloc-js, 14th of February 2013, Budapest, Hungary.

Overview of Play. Mix-It, 26th of April 2012, Lyon, France.

Animation of a Play workshop demonstrating its streaming capabilities. The source of the sample application is available on GitHub. Web-5, 6th of April 2012, Béziers, France.



Play Framework Essentials. 2014. Packt Publishing.


Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel. 2014. Using Path-Dependent Types to Build Type Safe JavaScript Foreign Function Interfaces. In ICWE-14th International Conference on Web Engineering. https://hal.inria.fr/hal-01026148

Julien Richard-Foy, Olivier Barais, Jean-Marc Jézéquel. 2013. Efficient high-level abstractions for web programming. In Proceedings of the 12th international conference on Generative programming: concepts & experiences (GPCE ‘13). ACM, New York, NY, USA, 53-60. DOI=10.1145/2517208.2517227 https://doi.acm.org/10.1145/2517208.2517227


Julien Richard-Foy. State of Structural Typing in Scala 3.3.0. 2023. arXiv:2311.11105

Julien Richard-Foy, Wojciech Pituła. Modular Remote Communication Protocol Interpreters. 2017. arXiv:1711.09288

Ph.D. Thesis

Web Software Engineering: reduce the complexity without loosing control. Université de Rennes 1, France, 2014. French. https://hal.inria.fr/tel-01087372