Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Re: Non generalizable type of constants?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 1999-02-16 (07:13)
From: Thorsten Ohl <ohl@h...>
Subject: Re: Non generalizable type of constants?
Pierre Weis <> writes:

> If you insist at abstracting the type Groupe.t,

I do, because this way I can hide details of different groups from
free constructions over them ...

> I'm not aware of any solution to your problem, except turning your
> unit_bad identifier into a function let unit_bad () = A.atom (M.unit).

Syntactically, It's not pretty, but I can live with it.  I shied away
from this because I was not sure about the result of

  module F = FreeRing ( some ring ...)
  compare (F.unit_bad ()) (F.unit_bad ())

in this case.  Does O'Caml guarantee that the expression will always
evaluate to 0?  [ Currently it appears to, but can I depend on it? ]

> More generally, what you call constants are computed values, even if
> the computation is simple in your case, hence we have the general
> problem of references.

I had this confused, thanks for pointing it out!
Thorsten Ohl, Physics Department, TU Darmstadt -- [<=== PGP public key here]