Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

Use `typeuse` in text format?

Offen
#144 4 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

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

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus WebAssembly/stack-switching

Alle Issues in WebAssembly/stack-switching

Ähnliche Issues

Weitere Issues zu Compilers

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.