Re: Perplexing type error.

Pierre Weis (weis@pauillac.inria.fr)
Wed, 12 Jun 1996 20:42:09 +0200 (MET DST)

From: Pierre Weis <weis@pauillac.inria.fr>
Message-Id: <199606121842.UAA19982@pauillac.inria.fr>
Subject: Re: Perplexing type error.
To: Michael.Jones@cl.cam.ac.uk (Michael Jones)
Date: Wed, 12 Jun 1996 20:42:09 +0200 (MET DST)
In-Reply-To: <E0uTnCw-00060C-00@heaton.cl.cam.ac.uk> from "Michael Jones" at Jun 12, 96 11:31:25 am

> Tres petit(e) abstract en Francais:
> Il y a une "type error" que je ne comprende pas.

Le proble`me est bien connu et re'fe'rence' dans la FAQ. Regardez dans
http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-fra.html, la premie`re
question sur le typage, qui s'intitule
<<Un type est incompatible avec lui-même ?>>
et doit re'pondre a` votre question. J'en extrais la conclusion:

La solution: quitter la session et tout recharger dans une nouvelle
session. Si le phénomène apparaît lors de la compilation d'un fichier,
il faut recompiler tous les fichiers dont il dépend.

J'espe`re que ca marchera pour vous.

> While [...]
>
> This expression has type lexcode list -> preterm * lexcode list,
> but is used with type lexcode list -> preterm * lexcode list.
[...]

This is a well-known pitfall of ML, it is referenced in the Caml
FAQ. Have a look at
http://pauillac.inria.fr/caml/FAQ/FAQ_EXPERT-eng.html, the first
question about type checking is
<<Error message: a type is not compatible with itself ?>>
it should answer to your question. The conclusion given here is:

Solution: quit your interactive system and reload your files in a new
session. If it appears when compiling a file, you have to recompile
all the files that your file depends upon.

Hope this helps,

Pierre Weis

INRIA, Projet Cristal, Pierre.Weis@inria.fr, http://pauillac.inria.fr/~weis