[GHC] #7015: Add support for 'static'

GHC ghc-devs at haskell.org
Thu Aug 21 09:24:35 UTC 2014


#7015: Add support for 'static'
-------------------------------------+-------------------------------------
              Reporter:  edsko       |            Owner:
                  Type:  feature     |           Status:  patch
  request                            |        Milestone:  7.10.1
              Priority:  normal      |          Version:  7.4.2
             Component:  Compiler    |         Keywords:
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D119   |
-------------------------------------+-------------------------------------

Comment (by edsko):

 I'm not following the details of the discussion here, but since I wrote
 rank1dynamic originally, I feel compelled to defend it and say "of
 ''course'' it's a hack, a proper solution wasn't available" :-) One thing
 to be aware of, though. Giving annotations such

 {{{
 y3 :: Static ([Any] -> [Any])
 y3 = static reverse
 }}}

 is okay, but only just: we have to be careful that the compiler doesn't
 start optimizing the definition for the specific case of the "ANY" type,
 which is intended as a type variable stand-in, but of course in actually
 isn't and the compiler might therefore make wrong decisions. In
 particular, have to be careful with dictionaries here. See "Word of
 Caution" at the end of http://hackage.haskell.org/package/distributed-
 static-0.3.0.0/docs/Control-Distributed-Static.html.

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


More information about the ghc-tickets mailing list