Good Haskell Style

David Roundy droundy at
Wed Aug 1 14:05:45 EDT 2007

On Wed, Aug 01, 2007 at 03:50:26PM +0100, Simon Marlow wrote:
> Ian Lynagh wrote:
> >* Don't leave trailing white space in your code
> >* Don't use tabs
> >* Aim to keep lines under 80 characters
> >* Use the CamelCase variable naming convention
> >* Don't use explicit braces and semicolons
> I'm with you all except for the 4th one:


> > * Use the CamelCase variable naming convention
> I'm rather attached to the convention I use, which is
>   - CamelCase for exported identifiers
>   - underscores otherwise
> (I'm pretty sure I don't use it consistently, so don't bother to dig up 
> counter-examples though).

I'm with you on this.  I prefer underscores in general, and find it helpful
to use them in ways distinct from CamelCase.  For instance, the new
"Repository" API in darcs is all CamelCase, but less portable functions
(sometimes exported, but always deprecated for use in darcs
commands--except in exceptions such as get) use underscores.

I'd say that we ought only to have the convention that exported functions
are CamelCase, and let folks do whatever they want inside a module.
David Roundy
Department of Physics
Oregon State University

More information about the Libraries mailing list