Mihamina Rakotomandimby (R12y)
2009-01-08 07:18:30 UTC
Bonjour,
Je reviens vers OCaml apres plusieurs mois de PHP forcé, j'essaie de
retrouver mes marques.
La doc que je lis:
http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html#toc17
Mon anglais n'est pas encore assez bon pour que je sois certain de tout
comprendre.
Si je veux faire mon propre module, est ce que je dois ecrire moi meme
le contenu entre "struct"/"end" et entre "sig"/"end" et les mettre dans
deux fichiers séparés dont les extension sont respectivement "ml" et "mli"?
Ou bien y a t il une option (pas décrite dans cette doc) à transmettre à
"ocamlc" pour qu'il génère automatiquement les "cmo" et "cmi" qui vont
bien à partir d'un "ml"?
Avant de vraiment poster ce message, je me mets à relire encore la page
sus-indiquée, et je vois ceci:
module A: sig (* contents of file A.mli *) end
= struct (* contents of file A.ml *) end;;
Ca m'emmène à la réponse à ma question: Il faut que je remplisse moi
meme le "mli".
Supposons que je souhaite "publier" toutes les fonctions d'un module, la
manière simple et sure d'avoir la signature est encore de copier coller
dans l'interpreteur interactif le module que j'aurais écris et de
récupérer la sortie, non? C'est cette sortie que je colle dans le "mli".
Je me trompe totalement, ou bien ça semble aller dans le bon sens?
Merci d'avance.
Je reviens vers OCaml apres plusieurs mois de PHP forcé, j'essaie de
retrouver mes marques.
La doc que je lis:
http://caml.inria.fr/pub/docs/manual-ocaml/manual004.html#toc17
Mon anglais n'est pas encore assez bon pour que je sois certain de tout
comprendre.
Si je veux faire mon propre module, est ce que je dois ecrire moi meme
le contenu entre "struct"/"end" et entre "sig"/"end" et les mettre dans
deux fichiers séparés dont les extension sont respectivement "ml" et "mli"?
Ou bien y a t il une option (pas décrite dans cette doc) à transmettre à
"ocamlc" pour qu'il génère automatiquement les "cmo" et "cmi" qui vont
bien à partir d'un "ml"?
Avant de vraiment poster ce message, je me mets à relire encore la page
sus-indiquée, et je vois ceci:
module A: sig (* contents of file A.mli *) end
= struct (* contents of file A.ml *) end;;
Ca m'emmène à la réponse à ma question: Il faut que je remplisse moi
meme le "mli".
Supposons que je souhaite "publier" toutes les fonctions d'un module, la
manière simple et sure d'avoir la signature est encore de copier coller
dans l'interpreteur interactif le module que j'aurais écris et de
récupérer la sortie, non? C'est cette sortie que je colle dans le "mli".
Je me trompe totalement, ou bien ça semble aller dans le bon sens?
Merci d'avance.