karamel icon indicating copy to clipboard operation
karamel copied to clipboard

Simplify Steel.ST.Reference.with_local without EPushFrame/EPopFrame

Open tahina-pro opened this issue 2 years ago • 0 comments

This is a follow-up issue to FStarLang/FStar#2664 .

@msprotz proposed an optimized implementation of Steel.ST.Reference.with_local without the need for anything like EPushFrame/EPopFrame, hoping to avoid unnecessary let res = ... bindings: following our discussion last week, Jonathan told me we shouldn't need push_frame and pop_frame at all, as soon as we could disable some pass in Karamel, except maybe in some cases related to Karamel hoisting a local variable declaration from within a nested if branch up to the beginning of a function.

Thanks Jonathan for your proposed Karamel test patch (https://github.com/FStarLang/FStar/pull/2664#issuecomment-1204226111), I'll test it on my side.

tahina-pro avatar Aug 03 '22 17:08 tahina-pro