Use `typeuse` in text format?
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- wasm
- Bereich
- compilers
Rechercherichtung
Start by reviewing the current text-format grammar for continuation type definitions and the existing typeuse production referenced in the issue. Compare the proposed forms, including the abbreviated examples, with the current (cont $f) syntax. Done means the proposal's text-format behavior and compatibility implications have been resolved and documented.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The current explainer does not explicitly explain the text format for this proposal, but I propose that the text format for continuation type definitions be updated to this:
comptype_I ::= ... | '(' 'cont' (x,I'):typeuse_I ')' => (cont x), I'
Using the existing typeuse production and its abbreviation would allow all of these to be well-formed and valid:
(module
(type $f (func (param i32) (result i32))
(type $k1 (cont (type $f)))
(type $k2 (cont (type $f) (param i32) (result i32))) ;; Same as $k1
(type $k3 (cont (param i32) (result i32))) ;; Same as $k1 and $k2
(type $k4 (cont (param i64) (result i64))) ;; Implicitly defines a new function type
(type $k5 (cont)) ;; Implicitly defines a new function type
)
Notably the current text format (type $k (cont $f)) would no longer be correct, but the advantage would be that writing tests would become much simpler because the function types would not need to be separately defined. (This is about the text format only; the function type definition would still be separate in the binary format and abstract syntax.)
- Vorherrschende Sprache
- WebAssembly
- Sterne
- 218
- Forks
- 19
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus WebAssembly/stack-switching
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
WebAssembly/stack-switching#156 · 1 Kommentar ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 35/100
WebAssembly/stack-switching#145 · 4 Kommentare ·
-
JSPI integrationOffen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
WebAssembly/stack-switching#131 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 45/100
WebAssembly/stack-switching#128 · 6 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
WebAssembly/stack-switching#122 · 3 Kommentare ·
Alle Issues in WebAssembly/stack-switching
Ähnliche Issues
-
bug intrinsic medium priority rt_lib
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
Maintainer antworten meist innerhalb von 1 Tag
-
[LoopSink] Sinking a preheader freeze into the loop allows its value to change between iterationsOffenconfirmed generated by fuzzer loopoptim miscompilation regression:17
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
llvm/llvm-project#236129 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:codegen backend:metal bug direction:output
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Maintainer antworten meist innerhalb von 1 Tag
-
JS_SetPropertyInternal2 loses the value when a lazy property on the prototype runs out of memoryOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
quickjs-ng/quickjs#1852 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
matter-labs/era-compiler-llvm#978 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 5 Tagen