From: Nicolas George <nicolas.george@ens.fr>
To: caml-list@inria.fr
Subject: [Caml-list] [RANT] String representation (was: Strings as arrays or lists...)
Date: Mon, 3 Mar 2003 23:10:22 +0100 [thread overview]
Message-ID: <20030303221022.GA24499@clipper.ens.fr> (raw)
In-Reply-To: <20030303210554.GA5245@force.stwing.upenn.edu>
[-- Attachment #1: Type: text/plain, Size: 1351 bytes --]
Le tridi 13 ventôse, an CCXI, William Lovas a écrit :
> type string = char array
BTW, *this* is the worst conceptual bug in OCaml, directly imported from
the C. Strings and arrays are totally different concept.
- Strings need fast concatenation and parts extraction, arrays do not
need that.
- Arrays need fast random access by numeric index, strings do not need
that.
My dream for a future release of OCaml would be something like that:
- string is an abstract type, with fast concatenation (especially when
one of the operands is not used anymore; this is like tail-recursion
optimisation, but for strings);
- there is also a `cursor' type, which is something like a pair
(string, index in that string);
- there are functions to move cursors forward and backward, take
substrings between two cursors, etc.;
- while we're at breaking compatibility, strings are fully Unicode
capable;
- there is a buffer type which is a byte array for low-level operations,
and conversion functions between buffers and strings, with several
possible encodings;
- there is a regular expression module with a syntax as near as perl's
as possible (because perl's regexps are great, and we do not want to
have to remember yet another regexps variant), which returns cursors
for matched substrings.
[-- Attachment #2: Type: application/pgp-signature, Size: 185 bytes --]
next prev parent reply other threads:[~2003-03-03 22:10 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-03 18:28 [oliver: Re: [Caml-list] Strings as arrays or lists...] 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 ` Nicolas George [this message]
2003-03-04 12:43 ` [Caml-list] [RANT] String representation (was: Strings as arrays or lists...) 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 ` [oliver: Re: [Caml-list] Strings as arrays or lists...] Issac Trotts
2003-03-04 0:24 ` 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=20030303221022.GA24499@clipper.ens.fr \
--to=nicolas.george@ens.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