From: Lauri Alanko <la@iki.fi>
To: caml-list@inria.fr
Subject: Re: [Caml-list] input_line
Date: Fri, 3 May 2002 03:13:48 +0300 [thread overview]
Message-ID: <20020503001348.GA577@la.iki.fi> (raw)
In-Reply-To: <20020430140720.A19609@pauillac.inria.fr>
On Tue, Apr 30, 2002 at 02:07:20PM +0200, Xavier Leroy wrote:
> > And worst of all, there are no limits on the size of string
> > to be created. So a maliciously designed huge input could blow either
> > the stack or the heap. I wouldn't want to use input_line in a network
> > application.
>
> I see your point, but there are other (most?) applications where you
> really do not want to have any hard limits beyond available memory.
Well, strings already _have_ a hard limit on their size...
But on second thought, yes, it seems that networking applications do
need features that are beyond what can reasonably be expected from a
Pervasives function. For example, in addition to limiting memory usage,
I also need to implement timeouts. Since there is no way to
asynchronously interrupt threads[1], the only way to make sure a
thread never blocks indefinitely is to use nonblocking IO, which
complicates things a bit.
So I ended up writing my own IO interface on top of the Unix module.
What bothers me about this is that now I cannot use any library
functions that operate on (in|out)_channels. Moreover, I had to
implement basic buffering, although the channel implementations do that
already.
Why, therefore, is it not possible to create standard channels that are
backed by user-defined functions? This is pretty much a standard feature
in many languages, and it would make life easier in many ways.
Lauri Alanko
la@iki.fi
[1] Or so I gather. The Haskell folks have studied asynchronous
exceptions in PLDI '01 and implemented them in GHC. Perhaps their work
could be adapted for ocaml as well?
-------------------
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:[~2002-05-03 10:17 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-23 10:41 [Caml-list] How to read three integers from a text-file... ? Jacek Chrzaszcz
2002-04-24 10:44 ` Stefano Lanzavecchia
2002-04-24 18:46 ` Tomasz Zielonka
2002-04-24 11:16 ` Jacques Garrigue
2002-04-24 13:40 ` Tomasz Zielonka
2002-04-25 5:30 ` pervasives (was: Re: [Caml-list] How to read three integers from a text-file... ?) Chris Hecker
2002-04-25 6:33 ` Tomasz Zielonka
2002-04-25 17:54 ` Chris Hecker
2002-04-27 4:43 ` John Max Skaller
2002-04-27 16:02 ` [Caml-list] input_line (Re: pervasives) Lauri Alanko
2002-04-30 12:07 ` [Caml-list] input_line Xavier Leroy
2002-05-03 0:13 ` Lauri Alanko [this message]
2002-05-03 11:27 ` Florian Hars
2002-04-24 21:23 ` [Caml-list] How to read three integers from a text-file... ? Tomasz Zielonka
2002-04-25 1:51 ` John Max Skaller
2002-04-25 8:55 ` Daniel de Rauglaudre
2002-04-25 11:19 ` Markus Mottl
2002-04-25 11:33 ` Jérôme Marant
2002-04-25 11:43 ` Markus Mottl
2002-04-25 17:56 ` Chris Hecker
2002-04-25 20:52 ` John Prevost
2002-04-25 23:32 ` Jacques Garrigue
2002-04-26 7:25 ` Jérôme Marant
2002-04-26 12:16 ` Jacques Garrigue
2002-05-02 8:48 ` Jacques Garrigue
2002-04-26 1:39 ` Daniel de Rauglaudre
2002-04-29 6:44 ` Francois Pottier
2002-04-30 11:07 ` Dave Berry
2002-04-30 12:20 ` Francois Pottier
2002-04-30 13:54 ` T. Kurt Bond
2002-05-03 22:12 ` Dave Berry
2002-04-30 14:42 ` Jocelyn Sérot
2002-05-02 7:34 ` [Caml-list] Extensible tuple types Francois Pottier
2002-05-02 9:42 ` Alain Frisch
2002-05-02 11:03 ` Francois Pottier
[not found] ` <6ECF4649-5C48-11D6-AC27-0003934491C2@lasmea.univ-bpclermon t.fr>
2002-05-03 21:58 ` [Caml-list] How to read three integers from a text-file... ? Dave Berry
2002-05-06 0:53 ` Eray Ozkural
2002-05-06 6:40 ` Florian Hars
2002-04-30 23:30 ` [Caml-list] Danvy "Functional Unparsing" style output in OCaml [was: How to read three integers from a text-file... ?] T. Kurt Bond
2002-05-13 14:11 ` [Caml-list] RE: Danvy "Functional Unparsing" style output in OCaml T. Kurt Bond
2002-05-13 19:59 ` [Caml-list] "Functional Unparsing" benchmark results links fixed [Was: Danvy "Functional Unparsing" style output in OCaml] T. Kurt Bond
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=20020503001348.GA577@la.iki.fi \
--to=la@iki.fi \
--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