[GHC] #315: Arbitrary function sections

GHC trac at galois.com
Wed Oct 18 13:44:52 EDT 2006


#315: Arbitrary function sections
-------------------------------+--------------------------------------------
 Reporter:  a0s                |          Owner:  nobody          
     Type:  feature request    |         Status:  assigned        
 Priority:  normal             |      Milestone:  _|_             
Component:  Compiler (Parser)  |        Version:  None            
 Severity:  minor              |     Resolution:  None            
 Keywords:                     |     Difficulty:  Moderate (1 day)
 Testcase:  N/A                |   Architecture:  Unknown         
       Os:  Unknown            |  
-------------------------------+--------------------------------------------
Changes (by igloo):

  * architecture:  => Unknown
  * difficulty:  => Moderate (1 day)
  * component:  None => Compiler (Parser)
  * milestone:  => _|_
  * testcase:  => N/A
  * os:  => Unknown

Old description:

> {{{
> For operators we have the following shorthand:
>
> op :: a -> b -> c
> (`op` y) === \x -> x `op` y
> (x `op`) === \y -> x `op` y
>
> It would be nice to have a similar facility for
> functions, e.g.:
>
> f :: a -> b -> c -> d -> e
> f _ y _ t === \x z -> f x y z t
> f x _ z _ === \y t -> f x y z t
> f x _ z === \y -> f x y z === \y t -> f x y z t
>
> Because "_" is currently not allowed as an identifier
> in contexts where this facility could possibly be in
> effect, it seems safe to use it to indicate omitted
> parameters in function application.
> }}}

New description:

 {{{
 For operators we have the following shorthand:

 op :: a -> b -> c
 (`op` y) === \x -> x `op` y
 (x `op`) === \y -> x `op` y

 It would be nice to have a similar facility for
 functions, e.g.:

 f :: a -> b -> c -> d -> e
 f _ y _ t === \x z -> f x y z t
 f x _ z _ === \y t -> f x y z t
 f x _ z === \y -> f x y z === \y t -> f x y z t

 Because "_" is currently not allowed as an identifier
 in contexts where this facility could possibly be in
 effect, it seems safe to use it to indicate omitted
 parameters in function application.
 }}}

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


More information about the Glasgow-haskell-bugs mailing list