summaryrefslogtreecommitdiff
path: root/compiler/coreSyn/CoreArity.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/coreSyn/CoreArity.hs')
-rw-r--r--compiler/coreSyn/CoreArity.hs16
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler/coreSyn/CoreArity.hs b/compiler/coreSyn/CoreArity.hs
index afd6759571..5f7f5593ba 100644
--- a/compiler/coreSyn/CoreArity.hs
+++ b/compiler/coreSyn/CoreArity.hs
@@ -220,7 +220,7 @@ Now suppose we have:
Now we want the built-in op/$dfList rule will fire to give
blah = $copList dCInt
-But with eta-expansion 'blah' might (and in Trac #3772, which is
+But with eta-expansion 'blah' might (and in #3772, which is
slightly more complicated, does) turn into
blah = op (\eta. ($dfList dCInt |> sym co) eta)
@@ -302,7 +302,7 @@ This isn't really right in the presence of seq. Consider
This should diverge! But if we eta-expand, it won't. We ignore this
"problem" (unless -fpedantic-bottoms is on), because being scrupulous
would lose an important transformation for many programs. (See
-Trac #5587 for an example.)
+#5587 for an example.)
Consider also
f = \x -> error "foo"
@@ -322,7 +322,7 @@ this transformation. So we try to limit it as much as possible:
(1) Do NOT move a lambda outside a known-bottom case expression
case undefined of { (a,b) -> \y -> e }
- This showed up in Trac #5557
+ This showed up in #5557
(2) Do NOT move a lambda outside a case if all the branches of
the case are known to return bottom.
@@ -334,7 +334,7 @@ this transformation. So we try to limit it as much as possible:
(3) Do NOT move a lambda outside a case unless
(a) The scrutinee is ok-for-speculation, or
(b) more liberally: the scrutinee is cheap (e.g. a variable), and
- -fpedantic-bottoms is not enforced (see Trac #2915 for an example)
+ -fpedantic-bottoms is not enforced (see #2915 for an example)
Of course both (1) and (2) are readily defeated by disguising the bottoms.
@@ -381,7 +381,7 @@ See also Id.isOneShotBndr.
Note [State hack and bottoming functions]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It's a terrible idea to use the state hack on a bottoming function.
-Here's what happens (Trac #2861):
+Here's what happens (#2861):
f :: String -> IO T
f = \p. error "..."
@@ -410,7 +410,7 @@ Extrude g1.g3
And now we can repeat the whole loop. Aargh! The bug is in applying the
state hack to a function which then swallows the argument.
-This arose in another guise in Trac #3959. Here we had
+This arose in another guise in #3959. Here we had
catch# (throw exn >> return ())
@@ -590,7 +590,7 @@ says it has arity "infinity" the first time round.
This example happens a lot; it first showed up in Andy Gill's thesis,
fifteen years ago! It also shows up in the code for 'rnf' on lists
-in Trac #4138.
+in #4138.
The analysis is easy to achieve because exprEtaExpandArity takes an
argument
@@ -726,7 +726,7 @@ arityType env (Cast e co)
-- See Note [exprArity invariant] (2); must be true of
-- arityType too, since that is how we compute the arity
-- of variables, and they in turn affect result of exprArity
- -- Trac #5441 is a nice demo
+ -- #5441 is a nice demo
-- However, do make sure that ATop -> ATop and ABot -> ABot!
-- Casts don't affect that part. Getting this wrong provoked #5475