I first heard of algebraic effects in a presentation about Unison recorded at Strangeloop. Realizing that exceptions, async, generators, and continuations could all be unified and implemented on top of one language feature was mind expanding. It looks like the juicy details are in the Explainer: https://github.com/WebAssembly/stack-switching/blob/main/pro...
The problem with abstracting control flow has always been the ease of composition within a program. I'm not sure if algebraic effects make that better, although I like the simplest form (exceptions with resume) for error handling. It's kind of like abelian groups and hyper graphs. They generalize many domains very nicely, and are an attractive abstraction. But it turns out they're too abstract for any individual doma…
WasmFX: Effect Handlers for WebAssembly
21–30 of 44 posts
Re: WasmFX: Effect Handlers for WebAssembly
#22I first heard of algebraic effects in a presentation about Unison recorded at Strangeloop. Realizing that exceptions, async, generators, and continuations could all be unified and implemented on top of one language feature was mind expanding. It looks like the juicy details are in the Explainer: https://github.com/WebAssembly/stack-switching/blob/main/pro...
Re: WasmFX: Effect Handlers for WebAssembly
#23Re: WasmFX: Effect Handlers for WebAssembly
#24the monika 'fx' is often used by graphics pipelines or rendering to mean special effects, and thus often take on the connotation of being related to graphics or rendering (e.g., javaFX). I dont think wasmfx should use this monika, as it makes it sound more graphics related than it really is. Naming and connotation of a name is important, as it frames the way people think about things.
Re: WasmFX: Effect Handlers for WebAssembly
#25I first heard of algebraic effects in a presentation about Unison recorded at Strangeloop. Realizing that exceptions, async, generators, and continuations could all be unified and implemented on top of one language feature was mind expanding. It looks like the juicy details are in the Explainer: https://github.com/WebAssembly/stack-switching/blob/main/pro...
Re: WasmFX: Effect Handlers for WebAssembly
#26the monika 'fx' is often used by graphics pipelines or rendering to mean special effects, and thus often take on the connotation of being related to graphics or rendering (e.g., javaFX). I dont think wasmfx should use this monika, as it makes it sound more graphics related than it really is. Naming and connotation of a name is important, as it frames the way people think about things.
Do you mean 'moniker'?
Re: WasmFX: Effect Handlers for WebAssembly
#27Earlier quoted context omitted.
That's okay; _using_ WebAssembly is getting easier bit by bit. Features like this one allow the high level programming language features you know and love to be implemented efficiently behind the scenes.
But they make making WASM implementations harder to make.
Same for WebGPU.
So I think WASM is doing this exactly the right way as long as it stays powerful and flexible at the core.
Re: WasmFX: Effect Handlers for WebAssembly
#28could exception handling be implemented with this? if so would that make the exception handling proposal superfluous?
Yes.
> if so would that make the exception handling proposal superfluous?
The exception handling proposal is a subset of this proposal. This proposal doesn't replace it, it completes it.
Re: WasmFX: Effect Handlers for WebAssembly
#29Earlier quoted context omitted.
That's okay; _using_ WebAssembly is getting easier bit by bit. Features like this one allow the high level programming language features you know and love to be implemented efficiently behind the scenes.
But they make making WASM implementations harder to make.
Re: WasmFX: Effect Handlers for WebAssembly
#30the monika 'fx' is often used by graphics pipelines or rendering to mean special effects, and thus often take on the connotation of being related to graphics or rendering (e.g., javaFX). I dont think wasmfx should use this monika, as it makes it sound more graphics related than it really is. Naming and connotation of a name is important, as it frames the way people think about things.
There are languages with (side-)effect annotations that have no continuation-like constructs whatsoever.