[GHC] #10843: Allow do blocks without dollar signs as arguments

GHC ghc-devs at haskell.org
Wed Jun 1 13:57:26 UTC 2016


#10843: Allow do blocks without dollar signs as arguments
-------------------------------------+-------------------------------------
        Reporter:  agibiansky        |                Owner:  agibiansky
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  7.10.2
  (Parser)                           |
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11706            |  Differential Rev(s):  Phab:D1219
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Iceland_jack):

 Old use case from [http://www.diss.fu-
 berlin.de/docs/servlets/MCRFileNodeServlet/FUDOCS_derivate_000000000279/tr-b-95-01.pdf
 A Concurrency Monad Based on Constructor Primitives, or, Being First-Class
 is not Enough]:

 {{{#!hs
 addUpMain :: Process
 addUpMain =
   OwnPid                        $ \self ->
   Fork (addUp self)             $ \server ->
   Send server (ListInt [1..20]) $ \() ->
   Receive                       $ \(Int n) ->
   End
 }}}

 as

 {{{#!hs
 addUpMain :: Process
 addUpMain =
   OwnPid                        \self       ->
   Fork (addUp self)             \server     ->
   Send server (ListInt [1..20]) \()         ->
   Receive                       \case Int n ->
   End
 }}}

 {{{#!hs
 addUpMain :: Process
 addUpMain = OwnPid
   \self       -> Fork (addUp self)
   \server     -> Send server (ListInt [1..20])
   \()         -> Receive
   \case Int n -> End
 }}}

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


More information about the ghc-tickets mailing list