diff options
author | Adam Chlipala <adam@chlipala.net> | 2011-01-06 12:31:13 -0500 |
---|---|---|
committer | Adam Chlipala <adam@chlipala.net> | 2011-01-06 12:31:13 -0500 |
commit | ede0d18f8ce0f39b1458f201d144682e2d52ca5b (patch) | |
tree | aae7b20d693489e6bb467ca8cdc14289f3981d15 /src/especialize.sml | |
parent | 4bdbd690fbf4d587497fae16aad0f546a7d2ac7b (diff) |
Expand valueish again
Diffstat (limited to 'src/especialize.sml')
-rw-r--r-- | src/especialize.sml | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/especialize.sml b/src/especialize.sml index c4789268..8720a7b1 100644 --- a/src/especialize.sml +++ b/src/especialize.sml @@ -337,20 +337,9 @@ fun specialize' (funcs, specialized) file = | EKAbs _ => true | ECApp (e, _) => valueish e | EKApp (e, _) => valueish e - | EApp _ => - let - fun valueishf (e, _) = - case e of - ENamed _ => true - | EFfi _ => true - | ECApp (e, _) => valueishf e - | EApp (e, (ERel _, _)) => valueishf e - | EApp (e, (ENamed _, _)) => valueishf e - | _ => false - in - valueishf all - end + | EApp (e1, e2) => valueish e1 andalso valueish e2 | ERecord xes => List.all (valueish o #2) xes + | EField (e, _, _) => valueish e | _ => false val vts = map (fn n => #2 (List.nth (env, n))) (IS.listItems fvs) |