Skip to content

Define Pulse.Lib.Pervasives._zero_for_deref - #4120

Merged
tahina-pro merged 1 commit into
FStarLang:fstar2from
tahina-pro:_taramana_fstar2_pulse_zero_for_deref
Mar 20, 2026
Merged

Define Pulse.Lib.Pervasives._zero_for_deref#4120
tahina-pro merged 1 commit into
FStarLang:fstar2from
tahina-pro:_taramana_fstar2_pulse_zero_for_deref

Conversation

@tahina-pro

Copy link
Copy Markdown
Member

This PR replicates FStarLang/pulse#592 on F*, which now embeds Pulse.

This PR cuts the extraction dependency on Low* KrmlLib for extraction of Pulse code to C or Rust via Karamel.

So far Pulse extraction was relying on C._zero_for_deref to extract access to references using BufLoad from the Karamel AST: using this index instead of 0 makes Karamel turn an array access into a pointer access. But C._zero_for_deref is defined in KrmlLib, which is written in Low*.

This PR replaces C._zero_for_deref with a Pulse-specific definition, Pulse.Lib.Pervasives._zero_for_deref, so that verification no longer depends on Low* KrmlLib.

This PR has a companion Karamel PR: FStarLang/karamel#685

@tahina-pro
tahina-pro merged commit 185f649 into FStarLang:fstar2 Mar 20, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants