Downstream request from ironwood: the zcash review policy cannot accept plugin loading in its build — and Lake offers no consumer-side opt-out (Module.shouldPrecompile consults only the declaring library's precompileModules flag), so ironwood inherits libCompElliptic_FastFieldNative.so being built and loaded into its elaborator through the pin, regardless of anything in ironwood's own lakefile.
Ironwood has removed its local precompile lane and moved its native_decide evaluation to GMP-backed Nat spellings (interpreted; the ~1.55× interpreter penalty on GMP-bound code is acceptable there). The one remaining plugin source is this lane.
Proposal: make the flag conditional, e.g.
precompileModules := (get_config? precompile).isSome
so a plain build (including all downstream dependency builds) skips native codegen entirely, while lake build -Kprecompile restores today's behavior for anyone measuring the fast lane. scripts/check_native_lane.sh would gate the same way. The mathematics is untouched either way — this was anticipated when the lane landed as a judge-separately component in #13.
Happy to send the PR for it if the direction is fine.
🤖 Generated with Claude Code
Downstream request from ironwood: the zcash review policy cannot accept plugin loading in its build — and Lake offers no consumer-side opt-out (
Module.shouldPrecompileconsults only the declaring library'sprecompileModulesflag), so ironwood inheritslibCompElliptic_FastFieldNative.sobeing built and loaded into its elaborator through the pin, regardless of anything in ironwood's own lakefile.Ironwood has removed its local precompile lane and moved its
native_decideevaluation to GMP-backedNatspellings (interpreted; the ~1.55× interpreter penalty on GMP-bound code is acceptable there). The one remaining plugin source is this lane.Proposal: make the flag conditional, e.g.
so a plain build (including all downstream dependency builds) skips native codegen entirely, while
lake build -Kprecompilerestores today's behavior for anyone measuring the fast lane.scripts/check_native_lane.shwould gate the same way. The mathematics is untouched either way — this was anticipated when the lane landed as a judge-separately component in #13.Happy to send the PR for it if the direction is fine.
🤖 Generated with Claude Code