Browse thread
[Caml-list] record declaration, SML
[
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: | 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
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