[GHC] #10061: Remove fun_infix from Funbind, as it is now in Match
GHC
ghc-devs at haskell.org
Mon Feb 2 22:01:26 UTC 2015
#10061: Remove fun_infix from Funbind, as it is now in Match
-------------------------------------+-------------------------------------
Reporter: alanz | Owner:
Type: task | Status: new
Priority: normal | Milestone: 7.12.1
Component: Compiler | Version: 7.10.1-rc2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple | Blocked By:
Test Case: | Related Tickets: #9988
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_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, which includes processing these fields
through the renamer and beyond.
Ticket #9988 introduced these fields into Match through renaming, this
ticket it to continue through type checking and then remove it from
FunBind completely.
The split happened so that #9988 could land in 7.10
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10061>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list