summaryrefslogtreecommitdiff
path: root/compiler/vectorise
diff options
context:
space:
mode:
authorTwan van Laarhoven <twanvl@gmail.com>2013-09-11 15:32:33 +0200
committerHerbert Valerio Riedel <hvr@gnu.org>2013-09-18 09:53:18 +0200
commitbd42c9dfd1c9ce19672e1d63871a237c268e0212 (patch)
tree0d9e6e3fdedae39176751cc62c1458344a0cf781 /compiler/vectorise
parentb6bc3263d0099e79b437ac5f3c053452c608c710 (diff)
downloadhaskell-bd42c9dfd1c9ce19672e1d63871a237c268e0212.tar.gz
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@gmail.com> Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
Diffstat (limited to 'compiler/vectorise')
-rw-r--r--compiler/vectorise/Vectorise/Type/TyConDecl.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/vectorise/Vectorise/Type/TyConDecl.hs b/compiler/vectorise/Vectorise/Type/TyConDecl.hs
index 935ea32c69..29d54a074b 100644
--- a/compiler/vectorise/Vectorise/Type/TyConDecl.hs
+++ b/compiler/vectorise/Vectorise/Type/TyConDecl.hs
@@ -67,6 +67,7 @@ vectTyConDecl tycon name'
(snd . classTvsFds $ cls) -- keep the original functional dependencies
[] -- no associated types (for the moment)
methods' -- method info
+ (defaultClassMinimalDef methods') -- default minimal complete definition
rec_flag -- whether recursive
-- the original dictionary constructor must map to the vectorised one