[Kos-dev] Caml : mes debuts

d2 kos-dev@enix.org
19 Nov 2001 17:21:06 +0100


Bonjour,

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@ifrance.com> writes:
    Thomas> C'est comme si le machin voulait que j'implemente le type
    Thomas> proposition ou l'exception Refutation. Je comprends pas ce
    Thomas> qu'il veut dire par la. J'ai regarde dans la reference de
    Thomas> Ocaml, mais j'ai rien trouve :((

Et ca :

    Thomas> Par contre, a noter que je n'ai pas eu besoin de recopier
    Thomas> le contenu de prop.mli dans prop.ml pour que prop.ml ai
    Thomas> connaissance de prop.mli (c'est le truc crade qu'on avait
    Thomas> decouvert pendant la toussaint).

Et ben il veut dire qu'il faut que tu implementes le type proposition
et l'exception refutation . C'est a dire qu'il veut que tu fasses le
truc crade qu'on avait decouvert pendant la Toussaint (ie
copier-coller) ;)

Note que ca suffira pas pour que ca marche puisque la fonction
variables_libres n'est pas implantee dans le .ml . Solution : soit tu
l'implementes dans le .ml, soit tu vires sa declaration du .mli .

Pour resumer, apparemment, quand tu compiles un .ml, caml EXIGE que ce
qui est declare dans le .mli soit implemente dans le .ml, c'est a dire :
  - declaration de type dans le .mli -> copier/coller direct dans le .ml
  - declaration de fonctions dans le .mli -> implanter les fonctions
    dans le .ml (TOUTES les fonctions)

Si on a le type dans le .mli mais pas dans le .ml => erreur.
Si on a le proto d'une fct dans le .mli mais pas l'implantation dans
le .ml => erreur.

donc 2 erreurs ici.

-- 
d2