Version française
Home     About     Download     Resources     Contact us    
Browse thread
Re: [Caml-list] Naming polymorphic variant types
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Nick Alexander <nalexander@a...>
Subject: Re: [Caml-list] Naming polymorphic variant types
> From: "Nick Alexander" <nalexander@amavi.com>
>> Now, can anyone point me at docs about polymorphic records?  I can't
>> find a thing :(  They were mentioned in the 3.05 release notes as'-
>> Support for polymorphic methods and record fields.'
>> which could be an extension of the object-based polymorphic records or
>> a really useful extension like the polymorphic variants.
>
> Oops, you didn't parser the above sentence correctly.
> What 3.05 adds is "polymorphic methods" and "polymorphic record
> fields", but not "polymorphic records" (you still have to simulate them
> with objects).  Polymorphic record fields are shortly described in the
> core language part of the tutorial; they provide explicit
> polymorhism at the record field level, which may be light than going
> through objects and methods.

Heh, that's what I thought.  Oh well... maybe there is a way to do what I
want anyway.  Let's say I have a record, say {a:int; b:int; c:int}.  I
wish to have a function that returns sub-records, say {a:int; b:int} or
{b:int; c:int}.  However, I don't want to (and can't, if I recall, due to
name clashes) declare all the sub record types.  So I was hoping for
something pretty such as the polymorphic variants.  I don't see how this
situation can be faked with objects -- objects (and classes) are even more
heavy than record types!  By heavy, I mean that I cannot create a new
object type with just the right methods on the fly, I must first declare
the class type, etc.  It seems like polymorphic row variables are _so_
close, but I certainly don't understand enough type/category theory to
extend the system myself.

Am I out of luck?

Nick





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