Slim instance declaration
(Difference between revisions)
(taken from a post to libraries mailing list)
(reference to Haskell-Cafe moved to "See also")
Latest revision as of 06:09, 5 September 2007
 1 All instance declarations should be slim.
- Instance declarations (and default definitions) should never contain non-trivial function definitions.
- Instance declarations (and default definitions) should only provide "plumbing" to make existing functions accessible via the type class resolution mechanism.
- The "plumbed" functions should always be exported (since instances are always exported).
Since the naming will not always be straight-forward, the last point is particularly important and would enable more re-use and less re-invention of mostly trivial wheels.
 2 See also
- Haskell-Cafe: Disclipline for re-use: Slim instances