Code style guide?
Ben Millwood
haskell at benmachine.co.uk
Thu Mar 21 20:48:31 CET 2013
On Tue, Mar 19, 2013 at 07:29:27AM -0700, Johan Tibell wrote:
>If you need to write a style guide, why not use
>
>https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md
>
>as a starting point. It's widely used in the Haskell community nowadays
>(e.g. it's a common recommendation on IRC) and it's based on the coding
>style of Duncan, Bryan, and Don for the most part.
Okay, I've started actually applying this to a patch I'm working on, and
I've come across the first situation it doesn't mandate a policy for:
how to format import lists. There are at least two styles in Cabal code
at the moment, e.g. the top of Distribution.Compate.TempFile looks like
import System.FilePath ((</>))
import Foreign.C (eEXIST)
import System.IO (Handle, openTempFile, openBinaryTempFile)
import Data.Bits ((.|.))
import System.Posix.Internals (c_open, c_close, o_CREAT, o_EXCL, o_RDWR,
o_BINARY, o_NONBLOCK, o_NOCTTY)
[...]
whereas Distribution.Compat.CopyFile looks like
import Control.Monad
( when )
import Control.Exception
( bracket, bracketOnError )
import Distribution.Compat.Exception
( catchIO )
import Distribution.Compat.Exception
( throwIOIO )
import System.IO.Error
( ioeSetLocation )
[...]
I'm in favour of the first style, and if there's no objections, the
patch I'm currently writing will be split into two commits, the first of
which will beautify all the import lists I'm going to touch, and the
second of which will apply my changes.
-- Ben
More information about the cabal-devel
mailing list