TheAngryByrd / TheAngryByrd/fsharp2
Emit generic ECMA-335 metadata and IL from symbolic fragments
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: #30, #34, #35, and #37
Outcome
Complete the selected symbolic-fragment and fresh-link architecture for generic CLI metadata and executable IL.
Acceptance criteria
- Lowered declarations and methods become immutable symbolic fragments containing stable symbols, labels, locals, exception regions, instructions, and debug contributions.
- Fragments never contain final handles, tokens, heap offsets, method offsets, RVAs, or PE/PDB identities.
- A fresh deterministic public-SRM linker plans rows and layout, resolves references, encodes signatures and bodies, and validates all symbolic operands.
- Assemblies, modules, nested and generic types, fields, methods, properties, events, interfaces, constraints, calls, locals, and exception regions are emitted correctly.
- PEReader, metadata readers, IL verification, runtime consumers, and cross-root deterministic repeats pass.
- Output follows the supplied target references and options rather than the host target framework.
- The selected #7 boundary remains replaceable without leaking encoder state upstream.
Decision inputs
Issue #7; ADRs 0002, 0006, 0009, and 0021.
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 with parent issue #8, blockers #30, #34, #35, and #37, then review issue #7 and ADRs 0002, 0006, 0009, and 0021. Done means meeting the listed symbolic-fragment and fresh-link acceptance criteria, including deterministic output and passing PEReader, metadata, IL verification, runtime, and cross-root checks.
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
- 20/100