caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
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 --]

  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;
as well as URLs for NNTP newsgroup(s).