From: Issac Trotts <ijtrotts@ucdavis.edu>
To: OCaml List <caml-list@inria.fr>
Subject: Re: [oliver: Re: [Caml-list] Strings as arrays or lists...]
Date: Mon, 03 Mar 2003 16:20:14 -0800 [thread overview]
Message-ID: <3E63F13E.4090303@ucdavis.edu> (raw)
In-Reply-To: <20030303210554.GA5245@force.stwing.upenn.edu>
William Lovas wrote:
>On Mon, Mar 03, 2003 at 12:10:45PM -0800, brogoff@speakeasy.net wrote:
>
>
>>On Mon, 3 Mar 2003, Oliver Bandel wrote:
>>
>>
>>>What I first have written about the string-stuff,
>>>was: It's not FP-like, but I also would be happy
>>>with a syntax, that would allow me, to use Array-functions
>>>for the Strings.
>>>
>>>
>>That's why I said "Agitate for extensional polyorphism!". You really want a
>>way to overload similar notations. As you must now know, OCaml has no
>>overloading. Extensional polymorphism gives you that overloading, on top of
>>ML, in a way that even people who hate overloading should find fairly
>>nonthreatening.
>>
>>
>
>You keep skirting around this question by saying that what he really wants
>is extensional polymorphism, but overloading is not the only way to get the
>same syntax for strings and arrays. Another way is to have them simply *be
>the same thing*. That is, is there any deep reason not to do
>
> type string = char array
>
>right up front, and inherit all the Array module's functions? We could
>still keep a String library with all string-specific functions in it, but
>we'd gain a unification of many function implementations, and the same
>notation for random access to boot.
>
>You mentioned that strings are packed -- meaning that they're more
>efficient than generic arrays? But doesn't O'Caml already have compiler
>magic for making float arrays fast and efficient? Why not just do the same
>thing for char arrays?
>
Char arrays take up four times as much space as strings, but there is a
tradeoff
of space versus time. The statement
let a = Array.make 2000000 ' ';;
takes no noticable time, but
let s = String.make 2000000 ' ';;
takes about 7 seconds to run on my computer.
Issac Trotts
>
>You indicated towards the end of your email that you feel that strings and
>arrays are different enough to warrant different representations, but i'm
>not convinced yet. What's the good reason for separating these two ideas
>that are clearly very similar in interface, and probably not too different
>in implementation?
>
>William
>
>-------------------
>To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
>Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
>Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
>
>
>
>
-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
next prev parent reply other threads:[~2003-03-04 0:13 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-03 18:28 Oliver Bandel
2003-03-03 20:10 ` brogoff
2003-03-03 21:05 ` William Lovas
2003-03-03 21:32 ` Basile STARYNKEVITCH
2003-03-03 22:10 ` [Caml-list] [RANT] String representation (was: Strings as arrays or lists...) Nicolas George
2003-03-04 12:43 ` Diego Olivier Fernandez Pons
2003-03-04 16:14 ` William D. Neumann
2003-03-04 18:38 ` Xavier Leroy
2003-03-04 18:50 ` William D. Neumann
2003-03-04 19:01 ` Nicolas George
[not found] ` <Pine.A41.4.44.0303041312560.4431978-100000@ibm1.cicrp.juss ieu.fr>
2003-03-04 13:49 ` David Chase
2003-03-04 0:20 ` Issac Trotts [this message]
2003-03-04 0:24 ` [oliver: Re: [Caml-list] Strings as arrays or lists...] Alain.Frisch
2003-03-04 1:06 ` Issac Trotts
2003-03-04 0:39 ` Olivier Andrieu
2003-03-04 0:39 ` brogoff
2003-03-03 21:40 ` [Caml-list] extensional polymorphism james woodyatt
2003-03-04 1:10 ` brogoff
2003-03-04 2:04 ` james woodyatt
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=3E63F13E.4090303@ucdavis.edu \
--to=ijtrotts@ucdavis.edu \
--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