package wax-lib
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Libraries for Wax, a Rust-like syntax for WebAssembly
Install
dune-project
Dependency
Authors
Maintainers
Sources
wax-v0.2.0.tbz
sha256=4361e1324b7754a4c08ab5b505df32061f3ce0cea60443fd0d3699e0fa796b32
sha512=fcc756d2f160ba90a9aa1131f2ab22ed7f45466ccd658c21cf9df6868a6aab0cee7f404719d698a379958802f9820398f2fe0685ecc4dda018ca4f653294e39b
doc/wax-lib.conversion/Wax_conversion/Sink_let/index.html
Module Wax_conversion.Sink_letSource
Source
val module_ :
Wax_lang.Ast.location Wax_lang.Ast.module_ ->
Wax_lang.Ast.location Wax_lang.Ast.module_module_ m rewrites the local declarations of every function body to be more idiomatic. Each let x : t; declaration is pushed inward as far as possible: down to the first instruction that uses x, and into the innermost block / branch that contains every use of x. A declaration whose first use is an initial assignment (let x : t; ... x = e;, with e not mentioning x) is fused into let x : t = e;.
This is meant as a cleanup of From_wasm.module_ output, which emits all locals as bare declarations at the top of the function body. The rewrite preserves runtime semantics: a bare declaration generates no code, so moving it never reorders any computation, and fusion only relabels an assignment that already sat at the chosen position.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>