#7081: add arrow analogs of lambda case and multi-way if
------------------------------+---------------------------------------------
 Reporter:  jeltsch           |          Owner:                  
     Type:  feature request   |         Status:  new             
 Priority:  normal            |      Component:  Compiler        
  Version:  7.5               |       Keywords:                  
       Os:  Unknown/Multiple  |   Architecture:  Unknown/Multiple
  Failure:  None/Unknown      |       Testcase:                  
Blockedby:                    |       Blocking:                  
  Related:                    |  
------------------------------+---------------------------------------------
 GHC has now support for lambda case and multi-way if (see ticket #4359).
 It would be good if arrow variants of these features would be implemented.
 There are three things that should be considered:

 Lambda case expressions should have analog {{{proc}}} expressions where
 {{{
 proc case pat_1 -> cmd_1
           ...
           pat_n -> cmd_n
 }}}
 desugars to
 {{{
 proc fresh -> case fresh of
                   pat_1 -> cmd_1
                   ...
                   pat_n -> cmd_n
 }}}

 Lambda case expressions should also have analog arrow commands where
 {{{
 \ case pat_1 -> cmd_1
        ...
        pat_n -> cmd_n
 }}}
 desugars to
 {{{
 \ fresh -> case fresh of
                pat_1 -> cmd_1
                ...
                pat_n -> cmd_n
 }}}

 Multi-way if expressions should have analog arrow commands where
 {{{
 if | cond_1 -> cmd_1
      ...
      cond_n -> cmd_n
 }}}
 desugars to
 {{{
 case () of
     _ | cond_1 -> cmd_1
       ...
       | cond_n -> cmd_n
 }}}

 Identifiers {{{pat_i}}}, {{{cond_i}}}, and {{{cmd_i}}} denote patterns,
 boolean expressions, and arrow commands, respectively.

 Bug #7071 has to be fixed before starting with this ticket.

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

_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to