Version française
Home     About     Download     Resources     Contact us    
Browse thread
Read-only arrays ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: David Teller <David.Teller@u...>
Subject: RE: [Caml-list] Read-only arrays ?
In my case, I'm writing a small board game my students will need to
complete in an assignment. So, I can trust that, if something can go
wrong, they'll find a way to make it happen.

Essentially, the board is a matrix, abstracted in a module.

Among other things, module Board provides 
* a type Board.square of squares
* a type Board.t of boards (internally defined as a Board.square array
array)
* a conversion function Board.to_array : Board.t -> Board.square array
array (a copy function for the matrix)
* a conversion function Board.from_array : Board.square array array ->
Board.t (a copy function for the matrix)

While performance is hardly critical, it's intellectually unsatisfying
to have and copy the whole board each time the borders of the module are
crossed, just to ensure that my students won't do anything wrong enough
to break the module.

Cheers,
 David

On Tue, 2007-04-10 at 16:12 -0700, Martin Jambon wrote:
> On Tue, 10 Apr 2007, Harrison, John R wrote:
> 
> > | This topic comes up from time to time... My take on this is that
> > read-only
> > | arrays or strings are not badly needed.
> >
> > Of course, this is a matter of opinion. In the end you didn't offer
> > a solution to the specific problem I had. I'll still need to adopt
> > an expensive and/or ugly workaround if I really want to protect myself
> > against OCaml's mutable strings. However, I accept that my application
> > is not typical.
> 
> It seems to me that you don't have a problem, but you imagine you have
> one... which is much better than the other way around :-)
> 
> http://caml.inria.fr/pub/ml-archives/caml-list/2006/05/f603bc5e2fec357d8a36d807664072e6.en.html
> 
> 
> Cheers,
> 
> Martin
> 
> --
> Martin Jambon
> http://martin.jambon.free.fr
> 
> _______________________________________________
> Caml-list mailing list. Subscription management:
> http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
> Archives: http://caml.inria.fr
> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
> Bug reports: http://caml.inria.fr/bin/caml-bugs
-- 
David Teller ------------------------------------------
Security of Distributed Systems -----------------------
-- http://www.univ-orleans.fr/lifo/Members/David.Teller
----- Laboratoire d'Informatique Fondamentale d'Orleans