[GHC] #9988: Remove fun_id, is_infix from FunBind, as they are now in Match
GHC
ghc-devs at haskell.org
Thu Jan 15 06:46:12 UTC 2015
#9988: Remove fun_id, is_infix from FunBind, as they are now in Match
-------------------------------------+-------------------------------------
Reporter: alanz | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.1-rc1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple | Blocked By:
Test Case: | Related Tickets:
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
One of the changes Phab:D538 introduced is to add m_fun_id_infix to Match
{{{#!hs
data Match id body
= Match {
m_fun_id_infix :: (Maybe (Located id,Bool)),
-- fun_id and fun_infix for functions with multiple equations
-- only present for a RdrName. See note [fun_id in Match]
m_pats :: [LPat id], -- The patterns
m_type :: (Maybe (LHsType id)),
-- A type signature for the result of the
match
-- Nothing after typechecking
m_grhss :: (GRHSs id body)
} deriving (Typeable)
}}}
This was done to track the individual locations and fixity of the fun_id
for each of the defining equations for a function when there are more than
one.
For example, the function (&&&) is defined with some prefix and some infix
equations below.
{{{#!hs
(&&& ) [] [] = []
xs &&& [] = xs
( &&& ) [] ys = ys
}}}
This means that the fun_id / is_infix is now superfluous in the FunBind.
This has not been removed as a potentially risky change just before 7.10
RC2, and so must be done after.
This ticket captures that task.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9988>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list