Journal DSL en golang avec du tagless final

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
9
5
fév.
2018

DSL ou "domain specific langage" est "un langage de programmation dont les spécifications sont conçues pour répondre aux contraintes d’un domaine d'application précis". L'idée est de rapprocher de le plus possible un langage informatique du langage du métier auquel il s'applique.

Dans le cas où l'on veut ajouter un DSL à un autre langage, on peut faire appel au technologique classique de compilation, ou alors il faut essayer d'utiliser le "langage hôte" de la façon la plus intelligente et économe (…)

Journal Tagless-final ou l'art de l'interprétation modulaire.

Posté par  . Licence CC By‑SA.
32
22
nov.
2016

Dans la lignée du journal EDSL et F-algèbres, ce journal présente une méthode pour plonger un langage dans un autre (ici OCaml) qui généralise la précédente et centrée autour de la notion d'interprétation. Contrairement aux méthodes plus courantes pour résoudre cette question, la méthode tagless-final permet également de résoudre le problème de l'extensibilité : étendre un type de donnés, ajouter des opérations dessus, sans avoir à réécrire du code déjà compilé et cela avec la sécurité du (…)