Commit 116e4e36 authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

Comments only

parent 1b1c97c9
...@@ -496,6 +496,9 @@ It returns True iff ...@@ -496,6 +496,9 @@ It returns True iff
soon, soon,
without raising an exception, without raising an exception,
without causing a side effect (e.g. writing a mutable variable) without causing a side effect (e.g. writing a mutable variable)
NB: if exprIsHNF e, then exprOkForSpecuation e
E.G. E.G.
let x = case y# +# 1# of { r# -> I# r# } let x = case y# +# 1# of { r# -> I# r# }
in E in E
...@@ -621,7 +624,7 @@ exprIsHNF other = False ...@@ -621,7 +624,7 @@ exprIsHNF other = False
-- There is at least one value argument -- There is at least one value argument
app_is_value (Var fun) args 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 || idArity fun > valArgCount args -- Under-applied function
= check_args (idType fun) args = check_args (idType fun) args
app_is_value (App f a) as = app_is_value f (a:as) app_is_value (App f a) as = app_is_value f (a:as)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment