Text I/O library proposal, first draft
Ben Rudiak-Gould
benrg@dark.darkweb.com
Thu, 31 Jul 2003 16:32:14 -0700 (PDT)
On Thu, 31 Jul 2003, Hal Daume wrote:
> Ben Rudiak-Gould wrote:
> > * There's no way to implement fgetpos/fsetpos type functionality,
> > because coders don't expose their internal state. (In fact, there
> > would need to be a way to explicitly copy the state, since it may
> > well include IORefs, Ptrs, etc.) Is this a serious problem?
>
> Yes! This is an enormously serious problem. At least for me.
>
> It's not a problem for writing files, but I really really really need
> this functionality when reading files. Reason: I'm often tooling around
> in very large (1gb or greater) files which happen to be sorted on some
> sort of index and I need to do binary search in them. To load all the
> file into Haskell or to do linear search is impossible.
Keep in mind that this design lets you create arbitrarily many
text-reading streams on top of a single open file, starting at any byte
offset in the file. The only thing you can't do is read some text from a
stream and then ask "where am I now?". Is that sufficient for what you
need to do? (I'm a little unclear on the format of the files you're
talking about.)
-- Ben