From: Hongwei Xi <hwxi@ececs.uc.edu>
To: Pierre Weis <Pierre.Weis@inria.fr>
Cc: caml-list@inria.fr
Subject: Re: reference initialization
Date: Thu, 11 May 2000 14:59:16 -0400 (EDT) [thread overview]
Message-ID: <Pine.GSO.4.21.0005111420390.19282-100000@gatekeeper.ececs.uc.edu> (raw)
In-Reply-To: <200005111358.PAA03140@pauillac.inria.fr>
Okay, I withdraw my argument that the Java strategy is better then
the ML strategy However, I'd like to use the following example
to make my point clear.
I want to combine two arrays into one. Here is the code in OCaml.
let combine_arrays a b =
let alen = Array.length a in
let blen = Array.length b in
let c = Array.make (alen + blen) ?
in begin
for i = 0 to alen - 1 do
c.(i) <- a.(i)
done;
for i = 0 to blen -1 do
c.(alen + i) <- b.(i)
done
end
Of course, you need to provide ? to make the above code work.
Here is my argument:
(1) If you try to provide ?, the code becomes repulsive.
(2) If you really want to make sure that 'c' is well-initialized,
you should probably check this after those two loops. The question
is how to incorporate the checking result into the type system.
(3) If you initialize 'c' with a (wrong) value, it seems to me
that nothing is achieved.
(4) Also, the problem cannot be solved using option type.
This is a precise senario that I had in mind, where the kind of
mandatory array initialization in ML-like langugages is simply
inappropriate, isn't it?
Cheers,
--Hongwei
\~~~~/ \\ // \\ // @ Mail: hwxi@ececs.uc.edu
C-o^o, ))__|| \\__//_ // \\ Url: http://www.ececs.uc.edu/~hwxi
( ^ ) ))__|| \--/-\\ \\
/ \V\ )) || // \\ \\ Tel: +1 513 556 4762 (office)
------ // || o // \\ \\//Fax: +1 513 556 7326 (department)
next prev parent reply other threads:[~2000-05-12 17:09 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-04-03 1:27 When functional languages can be accepted by industry? Dennis (Gang) Chen
2000-04-06 16:51 ` Jean-Christophe Filliatre
2000-04-07 5:27 ` Dennis (Gang) Chen
[not found] ` <14574.1721.508470.790475@cylinder.csl.sri.com>
2000-04-11 0:24 ` Dennis (Gang) Chen
2000-04-11 17:58 ` Pierre Weis
2000-04-12 1:45 ` Dennis (Gang) Chen
2000-04-12 17:27 ` Daniel de Rauglaudre
2000-04-13 15:40 ` John Max Skaller
2000-04-14 19:16 ` John Max Skaller
2000-04-12 18:06 ` David Brown
2000-04-13 1:23 ` Dennis (Gang) Chen
2000-04-13 14:36 ` Pierre Weis
2000-04-13 6:53 ` Jean-Christophe Filliatre
2000-04-13 12:20 ` Frank Atanassow
2000-04-13 17:28 ` John Max Skaller
2000-04-13 12:28 ` Steve Stevenson
2000-04-13 13:38 ` jean-marc alliot
2000-04-13 16:00 ` William Chesters
2000-04-13 14:29 ` T. Kurt Bond
2000-04-13 17:23 ` Julian Assange
2000-04-16 16:33 ` John Max Skaller
2000-04-17 15:06 ` Markus Mottl
2000-04-17 19:55 ` John Prevost
2000-04-24 2:36 ` Chris Tilt
2000-04-14 9:19 ` The beginning of a library for Formal algebra and numerical Analysis Christophe Raffalli
2000-04-14 9:32 ` Caml wish list Christophe Raffalli
2000-04-19 11:40 ` thierry BRAVIER
2000-04-19 13:45 ` William Chesters
2000-04-19 20:45 ` Christophe Raffalli
2000-04-25 18:16 ` Pierre Weis
2000-05-10 4:50 ` reference initialization Hongwei Xi
2000-05-11 13:58 ` Pierre Weis
2000-05-11 18:59 ` Hongwei Xi [this message]
2000-05-12 17:07 ` Pierre Weis
2000-05-12 19:59 ` Hongwei Xi
2000-05-15 6:58 ` Max Skaller
2000-05-15 17:56 ` Hongwei Xi
2000-05-14 14:37 ` John Max Skaller
2000-05-13 7:07 ` Daniel de Rauglaudre
2000-05-13 7:09 ` Daniel de Rauglaudre
2000-05-11 16:02 ` John Prevost
2000-04-13 16:59 ` When functional languages can be accepted by industry? John Max Skaller
2000-04-15 22:29 ` William Chesters
2000-04-16 22:24 ` Nickolay Semyonov
2000-04-18 6:52 ` Max Skaller
2000-04-17 12:51 ` jean-marc alliot
2000-04-17 17:49 ` John Max Skaller
2000-04-17 22:34 ` Brian Rogoff
2000-04-19 15:31 ` John Max Skaller
2000-04-19 18:30 ` Michael Hicks
2000-04-20 16:40 ` Markus Mottl
2000-04-20 17:58 ` Brian Rogoff
2000-04-20 18:52 ` Markus Mottl
2000-04-21 20:44 ` Michael Hohn
2000-04-21 19:22 ` John Max Skaller
2000-04-21 19:09 ` John Max Skaller
2000-04-21 19:45 ` Markus Mottl
2000-04-21 19:56 ` Brian Rogoff
2000-04-21 19:18 ` John Max Skaller
2000-04-18 10:53 ` Sven LUTHER
2000-04-19 15:57 ` John Max Skaller
2000-04-13 7:05 ` Pierre Weis
2000-04-13 17:04 ` Julian Assange
2000-04-07 15:44 ` John Max Skaller
2000-05-11 13:48 reference initialization Dave Berry
2000-05-11 14:28 Stephanie Weirich
2000-05-12 20:38 ` Hongwei Xi
2000-05-15 8:49 ` Xavier Leroy
2000-05-15 17:47 ` Hongwei Xi
2000-05-15 21:33 ` Pierre Weis
2000-05-16 2:53 ` Hongwei Xi
2000-05-18 16:16 ` Pierre Weis
2000-05-19 6:54 ` Max Skaller
2000-05-22 15:28 ` Pierre Weis
2000-05-22 22:29 ` Max Skaller
2000-05-15 22:20 ` Dave Mason
2000-05-15 9:36 ` Eijiro Sumii
2000-05-20 20:13 Simon Peyton-Jones
2000-05-22 16:10 ` Pierre Weis
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=Pine.GSO.4.21.0005111420390.19282-100000@gatekeeper.ececs.uc.edu \
--to=hwxi@ececs.uc.edu \
--cc=Pierre.Weis@inria.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).