vx-lang / vx-lang/Vx

Migrate topology descriptors to AST/env (converge with the memory-space model)

Open
#183 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core-lang enhancement
Dominant language
Rust
Stars
14
Forks
2
Avg merge
12h 42m
Merged PRs (30d)
61

Description

Follow-up to hiraditya/Vx.1#175 (global topology registry). Once memory descriptors are AST-carried + GlobalAstEnv-indexed (#176), two subsystems answer 'what is this space/topology?' differently: memories via the per-compilation env, topologies via the process-global TOPOLOGY_REGISTRY. That divergence is deliberate (memories set the better precedent) but should converge, not calcify.

Goal: migrate TopologyDescriptor off the process-global registry onto the AST (Program.topologies carrying full descriptors) + GlobalAstEnv, threading to codegen from the Program — removing reset_topology_registry() entirely. This is the open remainder of brittleness hiraditya/Vx.1#9.

Depends on the memory-space model (#176) establishing the pattern.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the existing memory-space model from #176, then trace TopologyDescriptor, Program.topologies, GlobalAstEnv, and the codegen path. Done means topology descriptors are carried through the AST and indexed by GlobalAstEnv, the codegen path uses the Program data, and reset_topology_registry() is removed without retaining the process-global registry.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.