Commit 2fff6938 authored by audreyt@audreyt.org's avatar audreyt@audreyt.org

Comment-only: Fix a typo, and note that the PredTy case on SplitTyConApp_maybe...

Comment-only: Fix a typo, and note that the PredTy case on SplitTyConApp_maybe was added as a kluge.
parent 173dd12c
......@@ -10,7 +10,7 @@ compiler. These parts
newtypes, and predicates are meaningful.
* look through usage types
The "tc" prefix is for "typechechecker", because the type checker
The "tc" prefix is for "TypeChecker", because the type checker
is the principal client.
\begin{code}
......@@ -713,10 +713,16 @@ tcSplitTyConApp_maybe ty | Just ty' <- tcView ty = tcSplitTyConApp_maybe ty'
tcSplitTyConApp_maybe (TyConApp tc tys) = Just (tc, tys)
tcSplitTyConApp_maybe (FunTy arg res) = Just (funTyCon, [arg,res])
tcSplitTyConApp_maybe (AppTy arg res) = Just (funTyCon, [arg,res])
tcSplitTyConApp_maybe (PredTy (ClassP _ [ty'])) = tcSplitTyConApp_maybe ty'
-- Newtypes are opaque, so they may be split
-- However, predicates are not treated
-- as tycon applications by the type checker
-- XXX - 2006-09-24: This case is hard-coded in (rendering predicates opaque as well)
-- to make the newly reworked newtype-deriving work on the trivial case:
-- newtype T = T () deriving (Eq, Ord)
-- Please remove this if the newtype-deriving scheme no longer produces a PredTy.
tcSplitTyConApp_maybe (PredTy (ClassP _ [ty'])) = tcSplitTyConApp_maybe ty'
tcSplitTyConApp_maybe other = Nothing
-----------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment