Ma question est de savoir s'il existe une différence entre le système de modules de Standard ML et le système de modules OCaml? OCaml a-t-il tout le support des foncteurs, des attributions etc ... que SML a?
Merci...
Ma question est de savoir s'il existe une différence entre le système de modules de Standard ML et le système de modules OCaml? OCaml a-t-il tout le support des foncteurs, des attributions etc ... que SML a?
Merci...
Il y a quelques différences de fonctionnalité-sage, ainsi que du point de vue sémantique.
Caractéristiques SML prend en charge, mais pas OCaml:
let
Fonctions OCaml 4 a mais pas SML:
sig with module A = M
)module type of
(Plusieurs SML implémentations de fournir certaines de ces extensions, cependant.)
Sémantique-sage, la plus grande différence est dans le traitement de type équivalence, en particulier à l'égard de foncteurs:
Dans les LMS, les foncteurs sont générative, ce qui signifie que l'application de la même foncteur deux fois pour le même argument donne toujours fraîche types.
En OCaml, les foncteurs sont applicative, ce qui signifie que l'application de la même foncteur deux fois le même argument (ainsi que d'autres restrictions syntaxiques) reproduit des types équivalents. Cette sémantique est plus souple, mais peuvent également se abstraction (voir, par exemple, les exemples que nous donnons dans ce document, la Section 8).
OCaml est purement syntaxique notion de signatures, ce qui signifie que certains types d'équivalences ne peuvent pas être exprimées par le système de type, et sont ignorés en mode silencieux ou brisée (voir, par exemple, ce bug comme un exemple étonnant).
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.