TheAngryByrd / TheAngryByrd/fsharp2
Implement F# types, members, overloads, and constraint solving
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: #32
Outcome
Extend the semantic checker across F# nominal types, object members, interoperability, overload resolution, and generic constraints.
Acceptance criteria
- Records, unions, classes, structs, interfaces, delegates, enums, exceptions, abbreviations, inheritance, and object expressions have compiler-owned typed representations.
- Constructors, methods, properties, events, extension members, named and optional arguments, conversions, and overload ranking use stable candidate selection.
- Generic, subtype, equality, comparison, nullness, byref, statically resolved type-parameter, inline member, and unit-of-measure constraints are solved without hard-coded type or member names.
- Satisfied, unsatisfied, inaccessible, and ambiguous cases have focused positive and negative conformance programs.
- Trait and inline calls lower from resolved semantic evidence; placeholder exception stubs do not count as implementation.
- Type-provider inputs remain explicitly unsupported until the separate Provider Broker gate from #13 is implemented.
Decision inputs
Issues #5 and #13; ADRs 0014, 0015, and 0025.
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 and blocker #32, then read decision inputs #5 and #13 and ADRs 0014, 0015, and 0025. The semantic checker must cover the listed F# representations, members, overloads, constraints, and focused conformance cases, while keeping type-provider inputs unsupported until the Provider Broker gate is implemented.
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
- 18/100