diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2022-05-03 12:18:30 +0100 |
---|---|---|
committer | Andreas Klebinger <klebinger.andreas@gmx.at> | 2022-07-18 07:41:11 +0200 |
commit | 6c8415369cf2b8d86a7617638e65985a42b7f760 (patch) | |
tree | 7b62dc6dc138c1de4e647f3af87bd1b8a2c6ceb6 /rts/HsFFI.c | |
parent | b27c5947ed9537f8cde153be4e53d4095ecbe247 (diff) | |
download | haskell-wip/T21457.tar.gz |
Refactor SpecConstr to use treat bindings uniformlywip/T21457
This patch, provoked by #21457, simplifies SpecConstr by treating
top-level and nested bindings uniformly (see the new scBind).
* Eliminates the mysterious scTopBindEnv
* Refactors scBind to handle top-level and nested definitions
uniformly.
* But, for now at least, continues the status quo of not doing
SpecConstr for top-level non-recursive bindings. (In contrast
we do specialise nested non-recursive bindings, although the
original paper did not; see Note [Local let bindings].)
I tried the effect of specialising top-level non-recursive
bindings (which is now dead easy to switch on, unlike before)
but found some regressions, so I backed off. See !8135.
It's a pure refactoring. I think it'll do a better job in a few
cases, but there is no regression test.
Diffstat (limited to 'rts/HsFFI.c')
0 files changed, 0 insertions, 0 deletions