Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
* Re: probleme dans les modules - contraintes (fwd)
       [not found] <Pine.HPP.3.95.990802112827.10313A-100000@freja.diku.dk>
@ 1999-08-02  9:39 ` Nicolas Ollinger
  0 siblings, 0 replies; only message in thread
From: Nicolas Ollinger @ 1999-08-02  9:39 UTC (permalink / raw)
  To: Jean-Yves Moyen; +Cc: caml-list

On Mon, 2 Aug 1999, Jean-Yves Moyen wrote:

(snip)

> provoque a la compilation l'erreur "This module type is not a signature"
> sur la chaine "Toto". (Je n'ai pas trouve la description de cette erreur
> dans le refman, ni dans les FAQ)

(snip)

> et apparamment, au vu de la grammaire telle qu'indiquee dans le refman,
> les 3 versions devraient passer.

> A quoi est du le probleme, et comment faire pour le corriger ?

En effet, cela ressemble fortement a un bug. Apres avoir regarde un peu
le source, le probleme survient dans Typemod.extract_sig. Cette fonction
appelle Mtype.scrape qui remplace Toto par Titi si on a fait la
declaration :

module type Toto = Titi;;

Or, extract_sig s'attend a recevoir une signature et non un nom de
module...

Voici un petit patch rapide... comme je ne connais pas les details du
compilateur il y a peut-etre des effets de bord indesirables...

dans ocaml-2.02/typing/mtype.ml remplacer scrape par :

let rec scrape env mty =
  match mty with
    Tmty_ident p ->
      begin try
        match Env.find_modtype_expansion p env with
           Tmty_ident p -> scrape env (Tmty_ident p)
         | mty -> mty 
      with Not_found ->
        mty
      end
  | _ -> mty

J'ai verifie que ca compile... pas que ca marche... :)

Nb: apparement ca a avait ete prevu car scrape est definie deja
recursive...

Nicolas.
--




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1999-08-12 10:05 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <Pine.HPP.3.95.990802112827.10313A-100000@freja.diku.dk>
1999-08-02  9:39 ` probleme dans les modules - contraintes (fwd) Nicolas Ollinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox