summaryrefslogtreecommitdiff
path: root/compiler
diff options
context:
space:
mode:
authorIavor S. Diatchki <iavor.diatchki@gmail.com>2013-01-13 18:34:38 -0800
committerIavor S. Diatchki <iavor.diatchki@gmail.com>2013-01-13 18:34:38 -0800
commit12f3a53edf3db4eabcbe412cab0ef44b469b537e (patch)
tree54a7cdb828819ea4543c86a766fb4efe2d742caa /compiler
parentfe61599ffebb27924c4beef47b6237542644f3f4 (diff)
downloadhaskell-12f3a53edf3db4eabcbe412cab0ef44b469b537e.tar.gz
Fixup comment: typos + I had the generalization rule backwards.
Diffstat (limited to 'compiler')
-rw-r--r--compiler/types/FunDeps.lhs7
1 files changed, 4 insertions, 3 deletions
diff --git a/compiler/types/FunDeps.lhs b/compiler/types/FunDeps.lhs
index 6bca407c67..fe8781b1f8 100644
--- a/compiler/types/FunDeps.lhs
+++ b/compiler/types/FunDeps.lhs
@@ -154,9 +154,10 @@ oclose preds fixed_tvs
-- For 1: the above argument about `t` being monomorphic seems incorrect.
-- The correct behavior is to quantify over `t`, even though we know that
-- it may be instantiated to at most one type. The point is that we might
--- only find out what that type is later, at the class site to the function.
--- In genral, we should be quantifying all variables that are not mentioned
--- in the environment + the variables that are determined by them.
+-- only find out what that type is later, at the call site to the function.
+-- In general, we should be quantifying all variables that are (i) not in
+-- mentioned in the environment, and (ii) not FD-determined by something in
+-- the environment.
-- For 2: This is just a nicity, but it makes things a bit more general:
-- if we have an assumption `t1 ~ t2`, then we use the fact that if we know
-- `t1` we also know `t2` and the other way.