Skip to content

Remove the async keyword from WIT.md.#98

Merged
lukewagner merged 1 commit intoWebAssembly:mainfrom
sunfishcode:main
Sep 13, 2022
Merged

Remove the async keyword from WIT.md.#98
lukewagner merged 1 commit intoWebAssembly:mainfrom
sunfishcode:main

Conversation

@sunfishcode
Copy link
Member

In the current async proposal, there are no longer async functions; there
are instead functions that return future or stream.

In the current [async proposal], there are no longer `async` functions; there
are instead functions that return `future` or `stream`.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
Copy link
Member

@lukewagner lukewagner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks! (I'll wait a couple more days for comments, then merge.)

sunfishcode added a commit to sunfishcode/wit-bindgen that referenced this pull request Aug 31, 2022
The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98
sunfishcode added a commit to sunfishcode/wit-bindgen that referenced this pull request Aug 31, 2022
The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98
@esoterra
Copy link
Contributor

Is there rationale for this change somewhere?

@lukewagner
Copy link
Member

Earlier versions of the async proposal (e.g.) had async as an attribute on func whereas the current proposal removed it in favor of more-general future and stream type constructors that can be used anywhere in func params and results, so the rationale is just keeping up-to-date with the async proposal.

@esoterra
Copy link
Contributor

What was the motivation in the proposal for making that change?

sunfishcode added a commit to bytecodealliance/wit-bindgen that referenced this pull request Sep 2, 2022
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
@lukewagner
Copy link
Member

Oops, sorry, I missed the follow-up question. The motivation in the original proposal that introduced async was that async represented an effect type saying "this function call can block" (allowing the caller to say "if the callee blocks, return the suspended computation and let me keep running". future can say roughly the same thing, but is more expressive (it can be used anywhere in a param/result types) and is complemented by stream, so there is no need for the more-limited async effect type anymore.

@lukewagner lukewagner merged commit 3ee3b98 into WebAssembly:main Sep 13, 2022
alexcrichton pushed a commit to alexcrichton/wasm-tools that referenced this pull request Nov 16, 2022
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
alexcrichton pushed a commit to alexcrichton/wasmtime-py that referenced this pull request Nov 16, 2022
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
guybedford pushed a commit to bytecodealliance/jco that referenced this pull request Dec 17, 2022
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
guybedford pushed a commit to bytecodealliance/jco that referenced this pull request Dec 21, 2022
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
rvolosatovs pushed a commit to bytecodealliance/wrpc that referenced this pull request May 23, 2024
* Remove `async func` support.

The `async` keyword has been removed from the [async proposal], in favor
of using plain functions that with `future` or `stream` types. See also
the [component-model PR to remove the syntax].

This removes the (now) old `async func` suppport from wit-bindgen, to make
it easier to develop the current Canonical ABI proposal.

[async proposal]: https://docs.google.com/presentation/d/1MNVOZ8hdofO3tI0szg_i-Yoy0N2QPU2C--LzVuoGSlE/edit#slide=id.g1270ef7d5b6_0_111
[component-model PR to remove the syntax]: WebAssembly/component-model#98

* Remove support for the `async` checkbox in wit-bindgen-demo.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants