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
[Caml-list] baffled by semicolon
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2004-08-26 (03:22)
From: briand@a...
Subject: [Caml-list] baffled by semicolon

This might really by a lablgtk2 question, but I thought it's probably
more of a ocaml syntax question :

The following works :

let window = GWindow.window ~width:400 ~height:400()

let area = GMisc.drawing_area ~packing:window#add ()

let w = area#misc#realize ()


let drawing = new GDraw.drawable w

However making the simple change

let w = area#misc#realize ()

^^ notice the double semicolon gives an error:
This expression has type unit but is here used with type
  [> `drawable ] Gobject.obj

For the simple reason that w has somehow, mysteriously, become = ()
instead of Gdk.window which is the value it would acquire if it was
only a single semi-colon.

I went back through the manual and really couldn't find anything which
explained the difference between ; and ;; - so it's not at all obvious
to me what's going on here.  I would think that w would take on the value of evaluating 

 area#misc#realize ()

in either case.



To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: