private rows question

Keiko Nakata

Jacques Garrigue

Keiko Nakata
 Keiko Nakata

Keiko Nakata

Jacques Garrigue
[
Home
]
[ Index:
by date

by threads
]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
[ Message by date: previous  next ] [ Message in thread: previous  next ] [ Thread: previous  next ]
Date:   (:) 
From:  Keiko Nakata <keiko@k...> 
Subject:  Re: [Camllist] again private rows question 
Sorry, again... What is the difference beteen the functor F and the function f ? (F is not typable, but f is) module F(X:sig type t = private [< `A  `B  `C ] val f : [`III ] > t end) = struct let rec g = function [] > []  `I :: tl > `A :: (g tl)  `II :: tl > `B :: (g tl)  (`III as iii) :: tl > let iii' = (X.f iii : [< `A  `B  `C ] :> [> `A  `B ]) in iii' :: (g tl) end let f (x : [< `A  `B  `C]) = (x : [< `A  `B  `C] :> [> `A  `B]);; I also curious to know whether there is a way to make g's type depend on X.t in module G(X:sig type t = private [< `A ] val f : int > t end) = struct let g x = if x = 0 then `B else X.f x end Regards, Keiko NAKATA