[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