[commit: ghc] master: Implement checkable "minimal complete definitions" (#7633) (bd42c9d)
git at git.haskell.org
git at git.haskell.org
Wed Sep 18 09:53:43 CEST 2013
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/bd42c9dfd1c9ce19672e1d63871a237c268e0212/ghc
>---------------------------------------------------------------
commit bd42c9dfd1c9ce19672e1d63871a237c268e0212
Author: Twan van Laarhoven <twanvl at gmail.com>
Date: Wed Sep 11 15:32:33 2013 +0200
Implement checkable "minimal complete definitions" (#7633)
This commit adds a `{-# MINIMAL #-}` pragma, which defines the possible
minimal complete definitions for a class. The body of the pragma is a
boolean formula of names.
The old warning for missing methods is replaced with this new one.
Note: The interface file format is changed to store the minimal complete
definition.
Authored-by: Twan van Laarhoven <twanvl at gmail.com>
Signed-off-by: Herbert Valerio Riedel <hvr at gnu.org>
>---------------------------------------------------------------
bd42c9dfd1c9ce19672e1d63871a237c268e0212
compiler/ghc.cabal.in | 1 +
compiler/ghc.mk | 2 +-
compiler/hsSyn/HsBinds.lhs | 16 +++
compiler/iface/BuildTyCl.lhs | 17 ++-
compiler/iface/IfaceSyn.lhs | 8 +-
compiler/iface/MkIface.lhs | 1 +
compiler/iface/TcIface.lhs | 6 +-
compiler/parser/Lexer.x | 2 +
compiler/parser/Parser.y.pp | 21 +++
compiler/prelude/TysWiredIn.lhs | 3 +-
compiler/rename/RnBinds.lhs | 25 ++++
compiler/typecheck/TcClassDcl.lhs | 30 ++++-
compiler/typecheck/TcInstDcls.lhs | 24 +++-
compiler/typecheck/TcTyClsDecls.lhs | 3 +-
compiler/types/Class.lhs | 45 ++++---
compiler/utils/BooleanFormula.hs | 167 ++++++++++++++++++++++++
compiler/vectorise/Vectorise/Type/TyConDecl.hs | 1 +
docs/users_guide/glasgow_exts.xml | 30 +++++
docs/users_guide/using.xml | 1 +
19 files changed, 372 insertions(+), 31 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc bd42c9dfd1c9ce19672e1d63871a237c268e0212
More information about the ghc-commits
mailing list