TheAngryByrd / TheAngryByrd/fsharp2

Implement F# types, members, overloads, and constraint solving

Open
#33 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: #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

  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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.