Skip to content

Add possible analysis V and G coupling layer#2047

Draft
sim642 wants to merge 1 commit into
masterfrom
spec-vg
Draft

Add possible analysis V and G coupling layer#2047
sim642 wants to merge 1 commit into
masterfrom
spec-vg

Conversation

@sim642
Copy link
Copy Markdown
Member

@sim642 sim642 commented May 26, 2026

This is a quick sketch of the kind of coupling of V and G modules I described during today's GobCon regarding @michael-schwarz's question.

To use this untested prototype, replace

module V = Foo
module G = Bar

in an analysis with

include Vg.Make2 (Foo) (Bar)

Then instead of man.global and man.sideg, use (currently not so well named/scoped) global man and sideg man.
Additionally, there's all_globals man.

The generality of this interface is that Vg.Make2 could be in-place replaced with Vg.Make3 to switch from the extra-unknown-based trick to a map domain instead (the kind of thing used for privatizations for similar stuff). This is probably just less efficient, but such change should require no other code changes at global, sideg and all_globals.

On the other hand, switching Vg.Make2 to Vg.Make would just remove all_global and just be a thin wrapper against the initial approach. But all the uses of global man and sideg man should remain valid.

@sim642 sim642 requested a review from michael-schwarz May 26, 2026 12:52
@sim642 sim642 added cleanup Refactoring, clean-up proof-of-concept labels May 26, 2026
@michael-schwarz
Copy link
Copy Markdown
Member

Thanks for the PoC! I'll probably be only able to look into it after VDS, but I guess it doesn't become stale too quickly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cleanup Refactoring, clean-up proof-of-concept

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants