Je pense qu'il est souvent prématuré de se poser des questions de représentation mémoire quand on écrit un programme—à moins de savoir d'avance que le type sera impliqué dans les parties les plus coûteuses en performance.
C'est vrai, d'autant que j'ai parlé trop vite sur le coup mémoire. Là, s'il veut réduire les coûts, il peut garder son code actuel, enlever les parenthèses autour du couple dans sa définition de type et utiliser des fonctions de constructions là où il construisait en partant d'une paire existante.
depuis OCaml 4.04 (Novembre 2016), on peut écrire
typet=Fooofbar[@@unboxed]
pour supprimer l'indirection dans ce cas. (C'est utile pour packer des existentiels sans indirection.)
Je ne connaissais pas cette nouveauté, c'est intéressant.
Par contre, j'ai une question. Lorsque dans le journal, il s'interroge sur :
On peut (doit ?) pousser le concept plus loin, comme par exemple écrire une bibliothèque de calcul matriciel qui vérifie à la compilation la dimensionnalité des calculs.
Ce contrôle statique ressemble à des types dépendants (un type paramétré par une valeur du langage, ici un int pour la dimension des matrices). Pour ce cas, ça doit pouvoir se faire avec des GADT comme dans les exemples du cours de Jeremy Yallop; mais c'est un usage assez avancé du système de type. Me trompe-je ?
Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.
[^] # Re: Module et type abstrait
Posté par kantien . En réponse au journal Une petite histoire d'utilisation type fort dans Ocaml. Évalué à 2.
C'est vrai, d'autant que j'ai parlé trop vite sur le coup mémoire. Là, s'il veut réduire les coûts, il peut garder son code actuel, enlever les parenthèses autour du couple dans sa définition de type et utiliser des fonctions de constructions là où il construisait en partant d'une paire existante.
Je ne connaissais pas cette nouveauté, c'est intéressant.
Par contre, j'ai une question. Lorsque dans le journal, il s'interroge sur :
Ce contrôle statique ressemble à des types dépendants (un type paramétré par une valeur du langage, ici un
intpour la dimension des matrices). Pour ce cas, ça doit pouvoir se faire avec des GADT comme dans les exemples du cours de Jeremy Yallop; mais c'est un usage assez avancé du système de type. Me trompe-je ?Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.