Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Polymorphic method problem
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Alex Baretta <alex@b...>
Subject: Re: [Caml-list] Polymorphic method problem
Christian Szegedy wrote:
> Can anyone tell me, why does the following piece of
> code fail to compile, and how can I achieve
> equivalent effect in the most convenient way?
> 
> class a () =
>   object(self)
>      method f : 'a. ((< f : unit; .. > as 'a) -> unit) = fun other -> 
> other#f      method g = (self :> a)
>   end
> 
> Thanks in advance!
> 

Your type annotations are not correct. Omit the ones which are not 
strictly needed.

class a =
object (self)
   method f : 'a.((<f:unit; ..> as 'a) -> unit) > as 'a) -> unit) =
     fun x -> x # f
   method g = self
end

Alex

-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners