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
RE: anonymous record types in variants
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 1999-02-16 (07:22)
From: Manuel Fahndrich <maf@m...>
Subject: RE: anonymous record types in variants

I also find this the major annoying feature of CAML records. I frequently
use variant datatypes with a number of fields. Without records, the field
order matters and has to be remembered when creating and accessing such
variants. Anonymous records would be ideal on variants, since they would not
introduce the extra level of indirection that you get when you declare an
explicit record type.


-----Original Message-----
From: Don Syme []
Sent: Monday, February 15, 1999 2:30 AM
To: 'Christopher Jeris';
Subject: RE: anonymous record types in variants

FTR, I've also had a few situations where it seemed most natural to write
similar constructs, but I couldn't.

> The argument of a variant type constructor cannot be an 
> anonymous record
> type, i.e.:
>   type foo = One of {one: int} | Two of {two: string}
> is rejected at the first {.  Of course this is easy to work 
> around, just
> give the record types names:
>   type foo_one = {one: int}
>   type foo_two = {two: string}
>   type foo = One of foo_one | Two of foo_two
> But, just out of curiosity, is there a quick explanation of 
> why it is this
> way?
> thanks & peace,
> Chris Jeris	MIT math grad student and novice OCaml music programmer