Type currying en Scala

Le système de type de Scala est réputé pour être plus riche que la plupart des autres langages. Entre les view bounds, type alias, abstract type et j’en passe, un nouvel univers s’offre au développeur : le type programming. Ce dernier se différencie du value programming par le fait que les traitements se font, non pas à l’exécution, mais à la compilation. Vous en avez sûrement déjà fait sans vous en rendre compte, en manipulant des types génériques par exemple. Des bibliothèques comme Shapeless vise d’ailleurs à pleinement tirer parti du système de type de Scala. Devant cette jungle de types, force est de constater qu’il devient facile de se perdre… Pour ce post je vais me contenter d’aborder une petite astuce que vous serez peut-être contraint d’utiliser un jour.

Lire la suite…