caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Correnson Loïc" <Loic.Correnson@trusted-logic.fr>
To: <fis@wiwi.hu-berlin.de>
Cc: "Ocaml" <caml-list@inria.fr>
Subject: Re: [Caml-list] String.map => Question to the OCaml-team
Date: Fri, 9 Apr 2004 17:12:22 +0200	[thread overview]
Message-ID: <003301c41e45$0f1de290$0203a8c0@hoedic> (raw)
In-Reply-To: <16502.46797.938811.422113@gargle.gargle.HOWL>

Have also a look at Array.iteri :
It allows to not use a for, nor an extra ref.
It shall be possible to have in lib:

String.iter : (char -> unit) -> string -> unit
String.iteri : (int ->char -> unit) -> string -> unit

Then:
let map f s = let t = String.copy s in ( String.iteri (fun i c -> t.[i] <- f
c) s ; t )

However, without extra libs nor for, but with a tail-rec function :
let map f s =
    let rec iteri i n t = if i<n then (t.[i] <- f t.[i] ; iteri (succ i) n
t) else t in
    iteri 0 (String.length s) (String.copy s)

Don't known what about performances.
    LC.

-------------------
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


  reply	other threads:[~2004-04-09 15:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-09 11:01 Oliver Bandel
2004-04-09 12:26 ` fis
2004-04-09 13:29   ` Jean-Christophe Filliatre
2004-04-09 14:44     ` fis
2004-04-09 15:12       ` Correnson Loïc [this message]
2004-04-09 14:56     ` Fernando Alegre
2004-04-09 17:00       ` brogoff
2004-04-09 18:26         ` Nicolas Cannasse
2004-04-09 12:28 ` Jon Harrop
2004-04-10 10:14   ` skaller

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='003301c41e45$0f1de290$0203a8c0@hoedic' \
    --to=loic.correnson@trusted-logic.fr \
    --cc=caml-list@inria.fr \
    --cc=fis@wiwi.hu-berlin.de \
    /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).