caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: David Teller <David.Teller@univ-orleans.fr>
To: OCaml <caml-list@inria.fr>
Subject: RE: [Caml-list] Read-only arrays ?
Date: Wed, 11 Apr 2007 07:08:09 +0200	[thread overview]
Message-ID: <1176268090.27607.9.camel@Blefuscu> (raw)
In-Reply-To: <Pine.LNX.4.58.0704101608470.21827@localhost>

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


  reply	other threads:[~2007-04-11  5:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-10 21:03 David Teller
2007-04-10 21:35 ` [Caml-list] " Martin Jambon
2007-04-10 21:57   ` Harrison, John R
2007-04-10 23:12     ` Martin Jambon
2007-04-11  5:08       ` David Teller [this message]
2007-04-11  5:31         ` Jacques Garrigue
2007-04-11  5:50           ` Jon Harrop

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1176268090.27607.9.camel@Blefuscu \
    --to=david.teller@univ-orleans.fr \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).