[GHC] #13305: static: check for identifiers should only consider term level variables

GHC ghc-devs at haskell.org
Wed Feb 22 13:54:50 UTC 2017


#13305: static: check for identifiers should only consider term level variables
-------------------------------------+-------------------------------------
        Reporter:  edsko             |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.2
      Resolution:                    |             Keywords:
                                     |  StaticPointers
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by edsko):

 Nice rationale Mathieu. I concur completely :) Just wanted to say "I think
 this is simply a case of a bad error message" is a bit confusing. I forgot
 the `Typeable` annotation, but that's a bit of a red herring. What I meant
 to say was

 {{{#!hs
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE StaticPointers #-}

 module Main where

 import Data.Proxy
 import Data.Typeable
 import GHC.StaticPtr

 foo :: forall a. Typeable a => StaticPtr (Proxy a)
 foo = static (Proxy :: Proxy a)

 main :: IO ()
 main = putStrLn "Hi"
 }}}

 should be accepted, but doesn't because the syntactic check is
 overzealous.

 Indeed, in my first version, if that check is relaxed, the error message
 should probably say `Typeable a` is missing (though see also #13306, where
 for `f9` the error message is confusing. Not sure what will happen.)

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


More information about the ghc-tickets mailing list