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
creating fresh objects of type 'self
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 1999-04-12 (17:32)
From: Didier Remy <remy@m...>
Subject: Re: creating fresh objects of type 'self
> is there a convenient way of creating objects of type 'self in classes?
> Cloning is easy, e.g:
>   class foo = object
>     method clone = {< >}
>   end
> which yields an object not necessarily of type "foo" but possibly of
> a subclass.


> But I wonder, how I can do something similar to get a "fresh" object.

The method clone already gives you a fresh copy of the original object.  So
why aren't you happy with the method clone?

> I would like to be able to have something like:
>   class foo = object (_ : 'self)
>     method create = new 'self
>   end
> The only possibility I know to get the intended result is rather
> inconvenient: I do as in "clone", but reinitialize all member data with
> their initial data. This is not only error-prone, but possibly quite a
> lot of work.

I don't understand what you mean here. 

> The original idea is to have a parent *object* passing "self" to a child
> *object* it has just created itself (note that I mean concrete objects,
> not classes).

I still don't undertand what you really want to do. 

Best regards,