diff options
| author | Thomas Bauereiss | 2018-01-29 18:07:28 +0000 |
|---|---|---|
| committer | Thomas Bauereiss | 2018-01-29 18:50:02 +0000 |
| commit | 2cb852f6ba093dcd59ddececea1e827c27e506aa (patch) | |
| tree | f2055460ce92814fd6e34f1957b392ee7c707e8e /src/initial_check.ml | |
| parent | 2fdbc2993a9092121cf7f3eddeab688d83499553 (diff) | |
Add rreg effect to _reg_deref in fix_val_specs rewrite
The internal function _reg_deref is declared as pure, so that bitfield setters
can be implemented as read-modify-write, while only having a wreg effect.
However, for the Lem shallow embedding, the read step of those setters needs to
be embedded into the monad. This could be special-cased in the Lem pretty
printer, but then the pretty printer would have to replicate some logic of the
letbind_effects rewriting step. It seems simplest to add the effect annotation
early in the Lem rewriting pipeline, in the fix_val_specs step. This means
that this rewriting step can only be used for other backends if these
additional effects are acceptable.
Diffstat (limited to 'src/initial_check.ml')
0 files changed, 0 insertions, 0 deletions
