Re: [whatwg/streams] Remove redundant ReturnIfAbrupt shorthands (PR #1225)

Yes, I think this is in in the right direction. Basically:

- Find all never-fail operations in the streams spec, and remove all !s from calls to them.

- Remove all !s from calls to ECMAScript operations that do not return abstract completions anymore. I believe the following list is comprehensive: CopyDataBlockBytes, CreateArrayFromList, CreateBuiltinFunction, IsDetachedBuffer, IsIntegralNumber (we need to update we're using IsInteger), OrdinaryObjectCreate, SameValue, Type.

I think we should be sure to do all of these at once, as otherwise it's a bit confusing.

> > Also, everything has a header saying what it returns.
> 
> Is this needed to do this cleanup?

I'm not sure; I welcome your input or that of the other editors.

Without the header, the situation is a bit confusing, because you can only know whether an abstract op returns a completion or a bare value by inspecting the call sites. (I.e., if all call sites use ?/!, it's a completion. If all do not, it's a bare value. If it's a mix, that's a spec bug.) It seems relatively easy to get confused.

However, it might be worth thinking about the world post-#1224, to avoid wasted effort. I'll comment over there with some ideas.

-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/streams/pull/1225#issuecomment-1060810692
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/streams/pull/1225/c1060810692@github.com>

Received on Monday, 7 March 2022 15:27:58 UTC