summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2011-07-06 12:25:27 +0100
committerIan Lynagh <igloo@earth.li>2011-07-08 13:12:03 +0100
commitf15f210baa9e6bb24e060470e120efe67af68572 (patch)
tree64a074d69057dc8f33003eb95139e15a0cd849d6 /compiler
parent82c9f3f0f42e917b113d2174f468e86074b895cc (diff)
downloadhaskell-f15f210baa9e6bb24e060470e120efe67af68572.tar.gz
Remove mention of -fno-method-sharing from comments and docs
Diffstat (limited to 'compiler')
-rw-r--r--compiler/typecheck/TcExpr.lhs16
1 files changed, 0 insertions, 16 deletions
diff --git a/compiler/typecheck/TcExpr.lhs b/compiler/typecheck/TcExpr.lhs
index ee6a34ac06..e547340954 100644
--- a/compiler/typecheck/TcExpr.lhs
+++ b/compiler/typecheck/TcExpr.lhs
@@ -1050,22 +1050,6 @@ Here's a concrete example that does this (test tc200):
Current solution: only do the "method sharing" thing for the first type/dict
application, not for the iterated ones. A horribly subtle point.
-Note [No method sharing]
-~~~~~~~~~~~~~~~~~~~~~~~~
-The -fno-method-sharing flag controls what happens so far as the LIE
-is concerned. The default case is that for an overloaded function we
-generate a "method" Id, and add the Method Inst to the LIE. So you get
-something like
- f :: Num a => a -> a
- f = /\a (d:Num a) -> let m = (+) a d in \ (x:a) -> m x x
-If you specify -fno-method-sharing, the dictionary application
-isn't shared, so we get
- f :: Num a => a -> a
- f = /\a (d:Num a) (x:a) -> (+) a d x x
-This gets a bit less sharing, but
- a) it's better for RULEs involving overloaded functions
- b) perhaps fewer separated lambdas
-
\begin{code}
doStupidChecks :: TcId
-> [TcType]