[GHC] #10635: -fwarn-redundant-constraints should not be part of -Wall

GHC ghc-devs at haskell.org
Mon Aug 8 08:44:53 UTC 2016


#10635: -fwarn-redundant-constraints should not be part of -Wall
-------------------------------------+-------------------------------------
        Reporter:  Lemming           |                Owner:
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler (Type    |              Version:  7.11
  checker)                           |
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Incorrect         |  Unknown/Multiple
  warning at compile-time            |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #9939, #9973,     |  Differential Rev(s):
  #10100, #10183, #11370             |
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Lemming):

 I have another example: The package `llvm-tf` (derived from `llvm`) uses
 type classes without methods in order to formalize the type restrictions
 set by the LLVM framework. E.g. `IsPrimitive` is the class for types of
 elements of vectors, `IsArithmetic` is the class for types supporting
 addition, multiplication and so on. However, only their super class
 `IsType` has a method `typeDesc :: Proxy a -> TypeDesc` that returns the
 `LLVM` structure for the according type. The LLVM function for addition
 takes this `TypeDesc` and it could in principle hold a non-Arithmetic
 type. We exclude this using the `IsArithmetic` class, but there is no
 `IsArithmetic` method to call that would force us to restrict the LLVM
 additon function to Arithmetic types.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10635#comment:24>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list