Lower computation expressions, sequences, quotations, and resumable code
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
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- fsharp
- Ambito
- compilers
Direzione di ricerca
Inizia con l’issue principale #8 e l’unblocker #35, quindi leggi le issue #5, #6 e #18, oltre agli ADR 0006, 0008, 0015 e 0027. Il lavoro è completo quando i comportamenti computation-expression, sequence, quotation e resumable-code elencati superano i controlli del compilatore, del runtime, del consumo downstream di F#, di portable-PDB, di NativeAOT, di dynamic e della modalità optimized-mode.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Parent: #8
Blocked by: #35
Outcome
Implement the specialized F# translations that build on the core typed and lowered representations.
Acceptance criteria
- Computation-expression syntax translates through general builder lookup and typing, including binding, return, combination, delay, loops, exception handling, resource use, custom operations, and applicative forms.
- Sequence expressions and quotations preserve their specified semantic and metadata contracts.
- Resumable-code and task-like state-machine lowering covers suspension, resumption, cancellation, exception paths, disposal, generic builders, and debug anchors.
- Tests use multiple unrelated compiler-owned builders and state-machine programs; no production branch recognizes a library namespace, type, or member.
- Generated code passes runtime, downstream F# consumption, portable-PDB, and NativeAOT consumer checks within the declared envelope.
- Dynamic and optimized modes remain behaviorally compatible with the relevant compiler options.
Decision inputs
Issues #5, #6, and #18; ADRs 0006, 0008, 0015, and 0027.
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
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
I maintainer di solito rispondono entro 1 giorno
-
bug genc
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
error not reported I/O low priority rt_lib
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
I maintainer di solito rispondono entro 1 giorno
-
A match arm above the largest i64 is compared as 0Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno