[GHC] #9590: AMP breaks `haskell2010` package

GHC ghc-devs at haskell.org
Sun Sep 14 16:27:02 UTC 2014


#9590: AMP breaks `haskell2010` package
-------------------------------------+-------------------------------------
       Reporter:  hvr                |                   Owner:
           Type:  bug                |                  Status:  new
       Priority:  high               |               Milestone:  7.10.1
      Component:                     |                 Version:  7.9
  libraries/haskell2010              |        Operating System:
       Keywords:  AMP                |  Unknown/Multiple
   Architecture:  Unknown/Multiple   |         Type of failure:  GHC
     Difficulty:  Unknown            |  rejects valid program
     Blocked By:                     |               Test Case:
Related Tickets:                     |                Blocking:
                                     |  Differential Revisions:
-------------------------------------+-------------------------------------
 (and probably also `haskell98`)

 I hate to be the one pointing this out, but the AMP has one ugly side-
 effect.

 Consider the following session:

 ```
 $ inplace/bin/ghc-stage2 --interactive -XHaskell2010 -hide-all-packages
 -package haskell2010
 GHCi, version 7.9.20140914: http://www.haskell.org/ghc/  :? for help
 Loading package ghc-prim-0.3.1.0 ... linking ... done.
 Loading package integer-gmp-0.5.1.0 ... linking ... done.
 Loading package base-4.8.0.0 ... linking ... done.
 Loading package array-0.5.0.1 ... linking ... done.
 Loading package haskell2010-1.1.2.1 ... linking ... done.

 λ:2> data Identity a = Identity a
 data Identity a = Identity a

 λ:3> instance Monad Identity

 <interactive>:3:10:
     No instance for (base-4.8.0.0:GHC.Base.Applicative Identity) arising
 from the superclasses of an instance declaration
     In the instance declaration for ‘Monad Identity’

 λ:4> :info Monad
 class base-4.8.0.0:GHC.Base.Applicative m => Monad (m :: * -> *) where
   (>>=) :: m a -> (a -> m b) -> m b
   (>>) :: m a -> m b -> m b
   return :: a -> m a
   fail :: String -> m a
         -- Defined in ‘base-4.8.0.0:GHC.Base’
 instance Monad (Either e) -- Defined in ‘base-4.8.0.0:Data.Either’
 instance Monad Maybe -- Defined in ‘base-4.8.0.0:Data.Maybe’
 instance Monad [] -- Defined in ‘base-4.8.0.0:GHC.Base’
 instance Monad IO -- Defined in ‘base-4.8.0.0:GHC.Base’
 instance Monad ((->) r) -- Defined in ‘base-4.8.0.0:GHC.Base’
 λ:5>


 ```

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


More information about the ghc-tickets mailing list