Implement core F# type inference, unification, and generalization
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 20/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Da chiarire
- Stato di attività
- Tranquilla
- Stack tecnologico
- fsharp
- Ambito
- compilers
Direzione di ricerca
Inizia con la issue padre #8 e sblocca la dipendenza #31, poi leggi le issue #4 e #5 oltre agli ADR 0005, 0014 e 0018. Usa i criteri di accettazione come checklist di completamento: l’inferenza e il controllo principali devono coprire le righe di funzionalità dichiarate, produrre risultati tipizzati deterministici e diagnostica compatibile, e preservare i metadati necessari alle fasi successive. Non vengono indicati file sorgente o test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: #8
Blocked by: #31
Outcome
Implement compiler-owned type inference for core F# expressions and declarations.
Acceptance criteria
- Inference variables, unification, substitutions, annotations, generic instantiation, let-generalization, value restriction, tuple and function types, and recursive bindings are represented explicitly.
- Expression and pattern checking covers bindings, functions, application, control flow, matches, collections, and generic calls within declared feature rows.
- Nullness and language-version behavior are option inputs rather than project-specific switches.
- Positive cases produce deterministic typed results; negative and ambiguous cases match supported Compatibility Oracle diagnostics.
- The checker uses metadata-only reference symbols and never executes target code.
- Typed output preserves source ranges, coercions, instantiations, and dependencies required by later lowering and incremental work.
Decision inputs
Issues #4 and #5; ADRs 0005, 0014, and 0018.
This issue inherits the corpus-neutral acceptance policy in #8.
- Lingua principale
- F#
- Stelle
- 0
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TheAngryByrd/fsharp2
-
wayfinder:task
Difficoltà 4/5 3-5 giorni Idoneità per principianti 62/100
TheAngryByrd/fsharp2#46 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
TheAngryByrd/fsharp2#44 · 1 commento ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
TheAngryByrd/fsharp2#42 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
TheAngryByrd/fsharp2#41 ·
-
wayfinder:task
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
TheAngryByrd/fsharp2#40 ·
Tutte le issue di TheAngryByrd/fsharp2
Issue simili
-
0.kind: enhancement 9.needs: package (update)
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
S3: friction & debt ws:tooling
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
MedakaLang/medaka#4865 ·
I maintainer di solito rispondono entro 1 giorno
-
Bug: the Atlas reports the five injected `$` helpers as unknown identifiers, including in the default scaffoldForse già presa @ShahadatTest l’ha presa oggi. Apertabug Compiler difficulty:easy good first issue help wanted Tooling
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Avenx-JS/avenx-js#1615 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
respond_to? on a poly receiver answers true for a program class's private or protected methodAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
x/arch/x86/x86asm: disp16/disp32 memory displacements are not sign-extendedForse già presa @mhr3 l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
golang/go#82840 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno