diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-01-10 21:27:15 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-01-10 21:27:15 +0000 |
| commit | 46994dec589a339a2f29cf4adca57bf1e57608b6 (patch) | |
| tree | 2a48b12c819cedd0d6898f636e09201d5b1234f4 /src/GF | |
| parent | 935594eb86a16532108f707b5dcfd351271d80b9 (diff) | |
a slight optimization in eta expand
Diffstat (limited to 'src/GF')
| -rw-r--r-- | src/GF/Compile/Optimize.hs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/GF/Compile/Optimize.hs b/src/GF/Compile/Optimize.hs index 9278897d2..6cbd302f5 100644 --- a/src/GF/Compile/Optimize.hs +++ b/src/GF/Compile/Optimize.hs @@ -164,7 +164,11 @@ partEval opts gr (context, val) trm = errIn ("parteval" +++ prt_ trm) $ do comp g t = {- refreshTerm t >>= -} computeTerm gr g t - etaExpand su t = comp su t >>= recordExpand val >>= comp su + etaExpand su t = do + t' <- comp su t + case t' of + R _ -> comp su t' --- return t' wo noexpand... + _ -> recordExpand val t' >>= comp su outCase subst t = do pts <- getParams context |
