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