== Coding guidelines for contributing to
== xmonad and the xmonad contributed extensions

* Comment every top level function (particularly exported functions), and
  provide a type signature; use Haddock syntax in the comments.

* Follow the coding style of the other modules.

* Code should be compilable with -Wall -Werror. There should be no warnings.

* Partial functions should be avoided: the window manager should not
  crash, so do not call `error` or `undefined`

* Tabs are illegal. Use 4 spaces for indenting.

* Any pure function added to the core should have QuickCheck properties
  precisely defining its behavior.

* New modules should identify the author, and be submitted under
  the same license as xmonad (BSD3 license or freer).