diff options
author | simonpj@microsoft.com <unknown> | 2006-09-07 10:57:05 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2006-09-07 10:57:05 +0000 |
commit | 116e4e364defd4b453d0457d1b0385c1c15c2d5f (patch) | |
tree | 8a0d9efc90fcdfe4ec151c0db39932ef13b8cc91 /compiler | |
parent | 1b1c97c9e085e2cd81ebd5a74e85d77ba103ae4e (diff) | |
download | haskell-116e4e364defd4b453d0457d1b0385c1c15c2d5f.tar.gz |
Comments only
Diffstat (limited to 'compiler')
-rw-r--r-- | compiler/coreSyn/CoreUtils.lhs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/compiler/coreSyn/CoreUtils.lhs b/compiler/coreSyn/CoreUtils.lhs index c59c751acf..da6367d737 100644 --- a/compiler/coreSyn/CoreUtils.lhs +++ b/compiler/coreSyn/CoreUtils.lhs @@ -496,6 +496,9 @@ It returns True iff soon, without raising an exception, without causing a side effect (e.g. writing a mutable variable) + +NB: if exprIsHNF e, then exprOkForSpecuation e + E.G. let x = case y# +# 1# of { r# -> I# r# } in E @@ -621,7 +624,7 @@ exprIsHNF other = False -- There is at least one value argument app_is_value (Var fun) args - | isDataConWorkId fun -- Constructor apps are values + | isDataConWorkId fun -- Constructor apps are values || idArity fun > valArgCount args -- Under-applied function = check_args (idType fun) args app_is_value (App f a) as = app_is_value f (a:as) |