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] record declaration, SML
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-01-09 (23:11)
From: Alessandro Baretta <alex@b...>
Subject: Re: [Caml-list] record declaration, SML

Daniel de Rauglaudre wrote:
> Hi,
>>What's best translation of the following SML type?
>>datatype t = C of { f : int }
> A solution is:
>   type t = C of < f : int >

Interesting solution. However, Ocaml does not support 
defining objects on the fly. The following
 > let c = new object method f = 1 end in C c
is not valid Ocaml.

So, in order to define just one value one needs to define an 
entire class as in the following example.

class f_one = object method f = 1 end
let res = C (new f_one)

BTW, why is something like the above not in the language? It 
seems only natural to have such a feature since an analogous 
construct exists for structs.

let module C = struct let f = 1 end in C.f


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