[GHC] #11585: Overload the static form to reduce verbosity

GHC ghc-devs at haskell.org
Thu Feb 25 14:40:29 UTC 2016


#11585: Overload the static form to reduce verbosity
-------------------------------------+-------------------------------------
        Reporter:                    |                Owner:
  facundo.dominguez                  |  facundo.dominguez
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.0.1
       Component:  Compiler          |              Version:  7.10.3
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D1923
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Ben Gamari <ben@…>):

 In [changeset:"c1efdcc40209bc4f0ded85269eb8ba49c7d1ff09/ghc"
 c1efdcc4/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="c1efdcc40209bc4f0ded85269eb8ba49c7d1ff09"
 Overload the static form to reduce verbosity.

 Static pointers are rarely used naked: most often they are defined at
 the base of a Closure, as defined in e.g. the distributed-closure and
 distributed-static packages. So a typical usage pattern is:

     distributeMap (closure (static (\x -> x * 2)))

 which is more verbose than it needs to be. Ideally we'd just have to
 write

     distributeMap (static (\x -> x * 2))

 and let the static pointer be lifted to a Closure implicitly. i.e.
 what we want is to overload static literals, just like we already
 overload list literals and string literals.

 This is achieved by introducing the IsStatic type class and changing
 the typing rule for static forms slightly:

     static (e :: t) :: IsStatic p => p t

 Test Plan: ./validate

 Reviewers: austin, hvr, bgamari

 Reviewed By: bgamari

 Subscribers: simonpj, mboes, thomie

 Differential Revision: https://phabricator.haskell.org/D1923

 GHC Trac Issues: #11585
 }}}

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


More information about the ghc-tickets mailing list