caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Yaron M. Minsky" <yminsky@cs.cornell.edu>
To: Chris Hecker <checker@d6.com>
Cc: Caml List <caml-list@inria.fr>
Subject: Re: [Caml-list] string buffer as (in|out)_channel
Date: 17 Jul 2003 03:39:25 -0400	[thread overview]
Message-ID: <1058427564.10355.846.camel@dragonfly.localdomain> (raw)
In-Reply-To: <4.3.2.7.2.20030717000026.026bcaa0@localhost>

I think this is the kind of place where it would make sense to use the
object system.  That is, in addition to the low-level in_channel and
out_channel, which essentially serve as proxies for unix file-descriptor
based channels, there should be I/O objects with a standard signature
for files, strings, buffers, etc.  I actually have done a simple version
of this for myself as part of the SKS project, but I think something
along these lines would be useful as a standard part of ocaml, including
integration with printf and other places in the standard library that
use I/O.  

As for your precise question, I don't myself know of any way to convert
a Buffer.t to an i/o channel.

y

On Thu, 2003-07-17 at 03:05, Chris Hecker wrote:
> Is there any way to do something similar to the C++ string stream stuff, 
> where you treat strings (or Buffer.t's) as in_ or out_channels?  The Format 
> module has a formatter for strings, but there doesn't seem to be a way to 
> do it with Pervasives.  Something like:
> 
> val out_channel_of_buffer : Buffer.t -> out_channel
> val in_channel_of_buffer : Buffer.t -> in_channel
> 
> and maybe _of_string versions too (probably necessary because you can't 
> convert a string to a buffer for the in_channel), which fill up and don't 
> expand.
> 
> It'd be very useful to be able to do this.
> 
> Thanks,
> Chris
> 
> PS.  Please cc me on replies, I temporarily unsubscribed from the list, thanks!
> 
> -------------------
> 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
-- 
|--------/            Yaron M. Minsky              \--------|
|--------\ http://www.cs.cornell.edu/home/yminsky/ /--------|

Open PGP --- KeyID B1FFD916 (new key as of Dec 4th)
Fingerprint: 5BF6 83E1 0CE3 1043 95D8 F8D5 9F12 B3A9 B1FF D916



-------------------
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:[~2003-07-17  7:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-17  7:05 Chris Hecker
2003-07-17  7:39 ` Yaron M. Minsky [this message]
2003-07-18  9:13 ` Issac Trotts
2003-07-18  9:40 ` Issac Trotts

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=1058427564.10355.846.camel@dragonfly.localdomain \
    --to=yminsky@cs.cornell.edu \
    --cc=caml-list@inria.fr \
    --cc=checker@d6.com \
    /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).