diff options
author | Ian Lynagh <igloo@earth.li> | 2011-07-06 12:25:27 +0100 |
---|---|---|
committer | Ian Lynagh <igloo@earth.li> | 2011-07-08 13:12:03 +0100 |
commit | f15f210baa9e6bb24e060470e120efe67af68572 (patch) | |
tree | 64a074d69057dc8f33003eb95139e15a0cd849d6 /compiler | |
parent | 82c9f3f0f42e917b113d2174f468e86074b895cc (diff) | |
download | haskell-f15f210baa9e6bb24e060470e120efe67af68572.tar.gz |
Remove mention of -fno-method-sharing from comments and docs
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/typecheck/TcExpr.lhs | 16 |
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] |