• [^] # Re: Dans l'art voluptueuse de ne rien comprendre

    Posté par (site web personnel) . En réponse au journal EDSL et F-algèbres. Évalué à 2.

    J'ai vu la vidéo. En plus des truc EMF, pour moi-même, j'ai codé un mini langage EDSL en ocaml pour éviter de devoir réinventer la roue. Mais le typage est différente de celui de ocaml, cela ne peut pas s'exprimer avec un gadt. Je l'ai donc recodé à la main.

    D'ailleurs, est-ce que dans les gadt, on peut mettre no propre type fantome ?

    J'ai toujours vu des trucs comme ça :

    type _ term =
    | Lit : int -> int term
    | Bool : bool -> bool term
    | Add : int term * int term -> int term
    | Neg : int term -> int term
    | If : bool term * 'a term * 'a term -> 'a term

    int/bool et jamais des type définit, qui n'ont d'utilité que pour ajouter un "tag" sur le résultat. (imagine un type "neverzero int" uniquement accepté par la division). L'idéal serait de pouvoir jouer avec des ensembles de variant, mais je ne crois pas que c'est possible.

    "La première sécurité est la liberté"