Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] string buffer as (in|out)_channel
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2003-07-17 (07:39)
From: Yaron M. Minsky <yminsky@c...>
Subject: Re: [Caml-list] string buffer as (in|out)_channel
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.


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 Archives:
> Bug reports: FAQ:
> Beginner's list:
|--------/            Yaron M. Minsky              \--------|
|--------\ /--------|

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

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: