
David Roundy
Indeed, libcurl is nicely portable, but I doubt my code to lazily link to the libcurl library is portable. I use pthread_create and pipe to let curl do the downloading asynchronously... I'm not sure how portable either of those system calls are.
Anything to do with creating threads or processes is likely to have porting problems in my experience. I had a quick glance at the libcurl overview http://pinkstuff.publication.org.uk/cgi-bin/man2html?libcurl+5#lbAF and thought it could be used portably. Seems like I missed something. Alastair:
This reminds me of a library I have been wanting for a while [...]
David:
For my purposes, I think a simpler system would be acceptable [...]
Ah, you actually want something different from what I proposed. (I thought of the possibility as I was writing it but dismissed it as being of little use - your example shows exactly when it is useful. The real world is always tricker than you like to think...) What I proposed was that the library would parse filenames according to the local conventions on your machine - win32, unix, macintosh, etc. What you need is a set of libraries to parse filenames according to a set of conventions. For example, you might need to convert win32 filenames to unix filenames and back again.
If I ever get around to porting to windows (which I'm unlikely do myself, since I don't have windows, and don't relish the idea of trying to set up an mingw ghc cross-compiler) I'll see if I can figure out a nice way to package the filename code... :)
I can't help you gain access to windows but Hugs is many, many times easier to install than GHC - you don't need mingw, cygwin or anything like that. (Truth in advertising: to use the ffi (e.g., to interface to libcurl), you do need a C compiler :-() -- Alastair Reid alastair@reid-consulting-uk.ltd.uk Reid Consulting (UK) Limited http://www.reid-consulting-uk.ltd.uk/alastair/