
From: libraries-bounces@haskell.org [mailto:libraries-bounces@haskell.org] On Behalf Of Duncan Coutts
What are the code standards for the HP libs? I was under the impression that it was best to maintain H98 compatibility where possible, especially so for libraries in the old standard libs distribution. I did a quick search for platform standards but didn't find anything relevant.
It's yet to be discussed on this list. Perhaps this is a good opportunity to start that discussion. Do you want to draft a reasonable starting position?
Maybe, maybe not... I might make better progress with some more questions. What are the long-term goals of the HP? Do you want to be able to bundle compilers other than ghc? At present the HP is ghc+extralibs, so we could say that anything that ghc will compile is acceptable. This does seem to preclude the possibility of bundling alternative compilers in the future, though. So what is a reasonable common subset? Malcolm suggested: H98 + HierarchicalModules + FFI + CPP + ExistentialTypes Do we care about compilers that are stable but not (actively) maintained? Without wanting to offend anyone here, Hugs, hbc, and nhc seem to be pretty much "feature stable". Would we rather look to the future; to compilers that support a wider range of extensions? (Rank-2 or rank-n types spring to mind, esp. in the context of the time library. That would eliminate nhc, but I think Hugs is still in the running.) MPTCs? MPTCs + fundeps? What external tools can library authors assume are available? hsc2hs? c2hs? cpphs? I see that alex and happy are specified in the haskell-platform.cabal as being present. And then there's other possible code standards... - Layout and indentation: do we run everything through a pretty printer to standardise layout? - Test coverage: should we require a minimum coverage threshold from HPC? - lint-style checks: ghc -Wall? Catch? - any more? ... Alistair ***************************************************************** Confidentiality Note: The information contained in this message, and any attachments, may contain confidential and/or privileged material. It is intended solely for the person(s) or entity to which it is addressed. Any review, retransmission, dissemination, or taking of any action in reliance upon this information by persons or entities other than the intended recipient(s) is prohibited. If you received this in error, please contact the sender and delete the material from any computer. *****************************************************************