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

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Henri DF <henri.dubois-ferriere@e...>
Subject: [Caml-list] odd typing behavior
Here is a boiled-down example of a problem that i can't figure out. 
Can anyone explain this ? 

thanks
henri


version 1:
---------
Compiling this fails with
File "proto/str/test.ml", line 5, characters 5-109:
The abbreviation c expands to type < dump_state : persist_t >
but is used with type < .. >



let h = Hashtbl.create 1
type persist_t = {rt : int}

class c = 
object(s)
  initializer 
    Hashtbl.replace h 1 (s :> c);
    
  method dump_state = {rt=1 }

end


version 2: 
---------
Same as version 1, except we use a float rather than a record 
for type  persist_t. This one compiles fine.

let h = Hashtbl.create 1
type persist_t = float

class c = 
object(s)
  initializer 
    Hashtbl.replace h 1 (s :> c);
    
  method dump_state = 1.0

end
  


version 3: 
---------
Same as version 1, except the first 2 lines are interchanged. This one 
compiles fine.

type persist_t = {rt : int}
let h = Hashtbl.create 1

class c = 
object(s)
  initializer 
    Hashtbl.replace h 1 (s :> c);
    
  method dump_state = {rt=1 }

end



-------------------
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