TheAngryByrd / TheAngryByrd/fsharp2

Implement ordered symbols, scopes, signatures, and name resolution

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

Nobody has claimed this yet.

wayfinder:task
Dominant language
F#
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Parent: #8
Blocked by: #29 and #30

Outcome

Resolve source and imported names across ordered F# files using stable compiler-owned symbols.

Acceptance criteria

  • Namespaces, modules, opens, aliases, auto-open behavior, types, values, constructors, members, operators, active patterns, and attributes participate in the correct scopes.
  • Earlier files and declarations are visible where allowed; later inputs never leak backward across F# source-order checkpoints.
  • Shadowing, ambiguity, recursive scopes, accessibility, signatures, and implementation/signature matching follow focused Compatibility Oracle cases.
  • Each resolved declaration and reference has a stable semantic identity independent of physical root and final metadata row order.
  • Resolution records explicit dependency edges needed by diagnostics and incremental invalidation.
  • Missing, inaccessible, or ambiguous names produce structured, ordered diagnostics without source-specific branches.

Decision inputs

Issues #2 and #19; ADRs 0004, 0014, and 0018.

This issue inherits the corpus-neutral acceptance policy in #8.

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 parent issue #8 and the blockers #29 and #30, then review issues #2 and #19 plus ADRs 0004, 0014, and 0018. Use the focused Compatibility Oracle cases to define completion: source-order resolution, stable identities, dependency edges, and structured diagnostics must satisfy all listed acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.