What we're about

Partager autour de la programmation fonctionnelle entre développeurs novices ou expérimentés.

N'hésitez pas à nous rejoindre sur le Slack Lambda Lille (ex-LilleFP) à cette adresse : https://slackin-lillefp.herokuapp.com

Upcoming events (1)

Lambda Lille λ.remote 3 : Tagless final & Hexagonal Architecture

Frederic Cabestre @fcabestre ------------ *Tagless Final*, un pont entre théorie et pratique ------------ Le style Tagless Final fait partie des outils que l'on peut aujourd'hui employer pour structurer l'écriture d'applications purement fonctionnelles. Bien sûr cette approche a un champ d'application privilégié, des mérites et des inconvénients que l'on évoquera. Mais je voudrais avant tout vous emmener en exploration à l'origine de cette technique, dans un monde de théoriciens des langages, et suivre le chemin pas forcément linéaire qui mène à son utilisation concrète au (quasi) quotidien. Nous verrons ainsi comment la conception d'interprètes de méta-langages peut, in fine, aboutir à la conception d'APIs purement fonctionnelles. Aux détours de ce périple, nous trouverons pêle-mêle les notions d'embedded DSL, de type class et de trait, l'expression problem, les IO monads et un exemple de librairie MQTT. Le tout accompagné de code illustratif, essentiellement en Scala, mais aussi un peu en Rust. J'espère ainsi vous donner envie de construire, ou consolider, votre pont entre théorie et pratique… Et à garder l'esprit ouvert à l'enrichissement que l'une apporte à l'autre. ========= Francois Teychene ------------ Asynchronisme et hexagone en Kotlin avec ArrowKt ------------ J'aime bien le DDD et surtout les architectures hexagonales. Avoir un domaine auto-portant et non couplé à des blocs techniques comme Spring (ou autres) apporte beaucoup dans la testabilité et l'évolutivité de l'application. Les modèles d'asynchronismes (programmation réactive, retardée, coroutines...) empêchent la dissociation stricte de notre modèle métier et de notre code infra dans un langage comme Kotlin. Obligé d'utiliser une lib de coroutine ou autre programmation reactive. Deux solutions s'offrent alors : - Définir que les modèles d'asynchronisme sont des invariants de notre domaine et accepter ce couplage - Chercher comment modéliser notre domaine comme un ensemble de comportements asynchrones Dans ce talk nous allons voir comment réaliser la deuxième solution en utilisant la librairie Arrow et son modèle conceptuel d'asynchronisme pour nous permettre de découpler notre domaine de toute logique d'infrastructure ========== Meetup via Zoom (lien visible après inscription)

Past events (21)

Photos (3)

Find us also at