From: Alain Frisch <frisch@clipper.ens.fr>
To: neale-caml@woozle.org
Cc: caml-list@pauillac.inria.fr
Subject: Re: [Caml-list] Str.string_match raising Invalid_argument "String.sub" in gc
Date: Wed, 22 Aug 2001 21:18:29 +0200 (MET DST) [thread overview]
Message-ID: <Pine.GSO.4.04.10108222115060.8254-100000@clipper.ens.fr> (raw)
In-Reply-To: <w53snek0vuw.fsf@woozle.org>
On 22 Aug 2001 neale-caml@woozle.org wrote:
> # let rec f l =
> let sep = Str.regexp "^[ \t\n]*\\(.+\\)" in
> match l with
> | [] -> []
> | [""] -> []
> | s :: rest -> if (Str.string_match sep s 0) then
> let foo = print_string ("match " ^ Str.matched_group 1 s ^ "\n") in
> (Str.matched_group 1 s) :: (f rest)
^^
This is wrong; with the current OCaml implementation, the right
operand of (::) is called first; so (Str.matched_group 1 s) is called
after subsequent calls to Str.string_match, which is obviously incorrect.
You have to use explicit sequencing (let .. in ..)
BTW, you could call Str.regexp only once.
--
Alain Frisch
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
next prev parent reply other threads:[~2001-08-22 19:18 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-22 18:53 neale-caml
2001-08-22 19:18 ` Alain Frisch [this message]
2001-08-22 20:41 ` Neale Pickett
2001-08-23 10:21 ` Frank Atanassow
2001-08-23 16:06 ` Neale Pickett
2001-08-23 16:25 ` Alain Frisch
2001-08-23 18:14 ` Neale Pickett
2001-08-22 20:23 ` Markus Mottl
2001-08-22 20:31 ` Miles Egan
2001-08-22 20:52 ` Michael Leary
2001-08-23 5:36 ` Jeremy Fincher
2001-08-22 22:06 ` Nicolas George
2001-08-23 7:08 ` [Caml-list] PCRE as standard (Was: Str.string_match raising Invalid_argument...) Florian Hars
2001-08-23 17:31 ` [Caml-list] Str.string_match raising Invalid_argument "String.sub" in gc Brian Rogoff
2001-08-23 18:08 ` [Caml-list] standard regex package Miles Egan
2001-08-23 19:28 ` Brian Rogoff
2001-08-23 19:49 ` Miles Egan
2001-08-23 19:51 ` Gerd Stolpmann
2001-08-23 21:12 ` Brian Rogoff
2001-08-23 21:27 ` Benjamin C. Pierce
2001-08-23 21:49 ` Gerd Stolpmann
2001-08-23 22:11 ` Miles Egan
2001-08-23 23:55 ` Gerd Stolpmann
2001-08-24 9:03 ` Claudio Sacerdoti Coen
2001-08-24 9:26 ` Sven
2001-08-27 15:46 ` [Caml-list] Package dependencies [Was: standard regex package] Ian Zimmerman
2001-08-27 20:50 ` Gerd Stolpmann
2001-08-24 9:23 ` [Caml-list] standard regex package Sven
2001-08-27 15:54 ` Ian Zimmerman
2001-08-30 8:41 ` Sven
2001-08-23 21:06 ` RE : " Lionel Fourquaux
2001-08-24 9:23 ` [Caml-list] dynamic loading and OS interface Xavier Leroy
2001-08-27 15:16 ` [Caml-list] standard regex package Ian Zimmerman
2001-08-27 15:35 ` Brian Rogoff
2001-08-24 9:13 ` Xavier Leroy
2001-08-24 10:16 ` Markus Mottl
2001-08-24 16:49 ` Miles Egan
[not found] ` <w533d6j1vxn.fsf@woozle.org>
[not found] ` <20010823112653.A7085@chopin.ai.univie.ac.at>
[not found] ` <w5366be7fd0.fsf_-_@woozle.org>
2001-08-23 20:01 ` [Caml-list] Re: [OFF-LIST] Str.string_match raising Invalid_argument "String.sub" in gc Markus Mottl
2001-08-23 20:31 ` Patrick M Doane
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.04.10108222115060.8254-100000@clipper.ens.fr \
--to=frisch@clipper.ens.fr \
--cc=caml-list@pauillac.inria.fr \
--cc=neale-caml@woozle.org \
/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