Découvrez le Loaner design pattern, une approche proposée en programmation fonctionnelle pour répondre au besoin de gestion de ressources telles que les connexions aux bases de données.
Scala
Vous reprendez bien un peu de curry avec votre programme?
En programmation fonctionnelle, la curryfication consiste à transformer une fonction prenant plusieurs arguments en une séquence de fonctions prenant un seul argument chacune. Bien qu’ étant à l’origine un concept théorique en mathématiques et en informatique, s’avère être un outil puissant dans l’architecture logicielle. Elle permet de décomposer les fonctions complexes en étapes plus simples et modulaires, facilitant ainsi leur compréhension, leur réutilisation et leur extension.
Les implicites en Scala
Les implicites en Scala permettent au compilateur de résoudre des arguments et de réaliser des conversions automatiquement, simplifiant ainsi la vie des développeurs.
Capture de contexte avec le framework Play
Play est un framework de développement Web dit fullstack: il propose la gestion d'un site Web, aussi bien au niveau du backend que de celui du frontend. Dans cet article, je vous propose une technique, inspirée de ce qui est proposé par Pekko HTTP, afin de capturer efficacement le contexte dans lequel le backend répond aux requêtes qu'il reçoit.
Un système simple et efficace de sélecteurs en Scala
Cet article aborde la gestion de comportements variés en programmation, en mettant en avant la notion de "sélecteurs", représentés par des classes en programmation orientée objet. Ces sélecteurs choisissent la méthode d'approche en fonction des contextes d'exécution. Une approche fonctionnelle est proposée pour simplifier cette gestion et éviter les duplications d'efforts, en privilégiant la combinaison et l'évaluation des sélecteurs.
Les combinateurs de parseurs: des regex sous stéroïdes
Cet article aborde le sujet des combinateurs de parseurs. Après avoir déterminé de quoi il retourne, nous donnons un exemple d'application basé sur un DSL permettant de décrire des robots. Après un aparté concernant les types algébriques, les combinateurs de parseurs sont comparés aux décodeurs.
Création d’un parseur pour Bencode en moins de 50 lignes de Scala
Cet article explique comment créer un parseur pour le format Bencode, utilisé dans les fichiers .torrent, avec moins de 50 lignes de code en Scala. Il détaille les concepts clés du format Bencode et comment les implémenter en utilisant des classes, des parseurs et un visiteur pour faciliter l'extraction et l'affichage du contenu de fichiers BitTorrent.
Exceptions: la voie à suivre ou un cul-de-sac?
Cet article discute des défis liés à l'utilisation des exceptions dans la programmation, notamment leur sémantique, leur complexité et leur coût en ressources. Il propose des alternatives, comme les types Option, Either et Try en Scala, qui favorisent une gestion fonctionnelle des erreurs, rendant ainsi le code plus clair et la gestion des erreurs plus explicite.
Vers un langage spécifique pour la description de séries chronologiques réalistes
Il y a de cela plusieurs années, mon équipe était confrontée à un problème récurrent: nous développions des outils pour gérer des données issues de séries chronologiques, mais ne disposions pas de suffisamment de telles données pour valider notre travail. Le DSL créé à l'époque pour décrire de telles séries présente des limitations qui sont discutées, et une piste d'évolution de ce DSL est présentée.