My documentation of System.Posix.Files
Simon Marlow
simonmarhaskell at gmail.com
Thu Aug 10 06:21:09 EDT 2006
Johan Tibell wrote:
> I've started to write some docs for System.Posix.Files but before I
> finish that and move on to other packages in System.Posix.* it would
> be great with some feedback on style (and grammar/spelling of course,
> English is my second language).
I took a brief look, and it seems fine. Thanks!
> http://www.itstud.chalmers.se/~larssont/docs/System-Posix-Files.html
>
> * Currently most of the POSIX docs are rather incomplete and are in
> the spirit of "read the man pages". Often a function's documentation
> states what C function is called and very little beyond that. The man
> pages contains a wealth of information but:
>
> - Everyone doesn't know C (hopefully Haskell is their first language ;) )
> - Everyone might not have them
> - It takes longer time if you have to go and look in the man pages
> - There might be subtle differences
> + They are likely to contain a more in depth information than my
> documentation of the library ever will!
>
> Perhaps I could still annotate each function with something like:
>
> NOTE: Uses the POSIX system call stat.
Certainly, most of the System.Posix functions correspond fairly directly to the
underlying POSIX API, so documenting which function is underlying will let
people consult the POSIX documentation which should be more complete.
In particular, the error codes are all documented by POSIX, I don't think we
should duplicate them here.
> * Perhaps I should put a general description of terms (symbolic links,
> everything is a file, etc.) in the module description?
Sure, but don't go overboard if you're just repeating stuff that's in the POSIX
documentation. A link to the POSIX docs is more useful.
> * Lots of error conditions are undocumented. I added some references
> to a function called throwErrnoIfMinus1_ which lives in
> System.Posix.Error.
I think you could just say somewhere that "if the function fails, the errno code
is converted to an IOError using Foreign.C.Error.errnoToIOError. For a list of
which errno codes may be generated, consult the POSIX documentation for the
underlying function."
Cheers,
Simon
More information about the Libraries
mailing list