TheAngryByrd / TheAngryByrd/fsharp2
Implement typed declaration checkpoints and semantic fingerprints
Nobody has claimed this yet.
- Dominant language
- F#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
Parent: #8
Blocked by: #31, #32, and #33
Outcome
Create the immutable typed declaration graph and fingerprint contract that connects checking, lowering, diagnostics, and incremental compilation.
Acceptance criteria
- Typed declarations have stable identities, explicit semantic dependencies, and file-level checkpoints that preserve F# source order.
- Exported, implementation, debug, and diagnostic fingerprints are separate versioned values.
- A body-only edit can change implementation without changing exported meaning; public or inline edits change consumer-visible fingerprints; trivia and debug-only edits remain distinguishable.
- Unknown semantic impact is represented explicitly and widens invalidation conservatively.
- Typed nodes retain necessary ranges and resolved symbols but contain no SRM handles, metadata tokens, row offsets, cache serializer objects, or final artifact identities.
- Clean and reused checking produce equivalent typed graphs and diagnostics.
- Fingerprint evidence remains independent of cache layout.
Decision inputs
Issues #17 and #19; ADRs 0013, 0018, 0022, and 0023.
This issue inherits the corpus-neutral acceptance policy in #8.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading parent issue #8, blockers #31, #32, and #33, then review issues #17 and #19 and ADRs 0013, 0018, 0022, and 0023. Use the acceptance criteria as the completion checklist: equivalent clean and reused checking, separated fingerprints, conservative unknown impact, source-order checkpoints, and typed nodes independent of cache and final artifact details.
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
- Mostly clear
- Newbie friendliness
- 25/100