Proposal: System.Timeout module for base (Trac #980)
Simon Marlow
simonmarhaskell at gmail.com
Fri Mar 2 08:46:29 EST 2007
Peter Simons wrote:
> Oops, I almost forgot to respond to this point:
>
> > Could you add an explanation why the module is non-portable?
>
> The module is unportable because it relies on asynchronous,
> dynamically-typed exceptions. That is a GHC extension, as far as
> I know. I guess it might be worth mentioning the exact details
> somewhere, but then I don't want to clutter the module header
> with long text -- almost all modules I have seen just say
> "non-portable" in that header field. If it's not a major point,
> I'd prefer to keep things the way they are in that regard.
Often I add a few keywords in parentheses after non-portable, e.g.
Portability: non-portable (exceptions, concurrency)
but what might be more useful nowadays is to use the LANGUAGE pragma to specify
extensions, and copy the value of the LANGUAGE pragma into the Portability field
for documentation. It would be nice if Haddock automatically populated
Portability from LANGUAGE, in fact.
Cheers,
Simon
More information about the Libraries
mailing list