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: Array interface question
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Brian Rogoff <bpr@b...>
Subject: Re: Array interface question
On Fri, 22 Jan 1999, Pierre Weis wrote:
> > 	Why is there no creation function which does not take a default
> > value for filling the array?
> [...]
> > 
> > -- Brian
> This is due to the coexistance in Caml of polymorphism and mutable
> values. The system would be unsafe if we were able to allocate
> polymorphic mutable values (those mutable values could be filled
> afterwards with values of unrelated types, and hence would break the
> homogeneous sequence nature of arrays, and then may be read back with
> types unrelated to their proper types).

Thanks, I should have known that was it.

Given this, I'd like to request a Sequence abstraction like the one in 
SRC Modula-3, which permits addition and removal at either end, and random
access, in expected constant time, for inclusion in the stdlib. I have 
several times had need of such an ADT (usually I only need to add at one
end and have random access), most recently in a BDD library I'm writing.
Any suggestions on how to write Sequence elegantly (and safely of course ;-)
in OCaml as it stands?

Probably having a default value for dynamic arrays is not so bad...

-- Brian