01:42
<Jack Works>
I think the powerful follow on is the decorated block
02:42
<rbuckton>
I have been considering proposing something like Scala's extractor objects to pair with ADT enums. That would let you invoke logic during destructuring: ```js const obj = Option.Some(1); const Option.Some(x) = obj; ``` Also, ```js const { extractor(x) } = obj; ```
02:44
<rbuckton>
Rough outline here: https://gist.github.com/rbuckton/ae46b33f383ba69880c7138c49b5e799
18:00
<shu>
bakkot: Michael Ficarra the usage of Symbol.species in https://tc39.es/ecma262/#sec-initializetypedarrayfromtypedarray was pointed out to me to be very strange
18:01
<shu>
what the hell is going on there? we get @@species for the underlying ArrayBuffer, but then don't ever call Construct on it, instead only pulling the prototype off via OrdinaryCreateFromConstructor
18:02
<shu>
i don't remember the history here, but if that's not a bug, that's gotta be the worst usage of @@species in the spec
18:25
<bakkot>
that's pretty weird, yes
18:27
<bakkot>
that has to be possible to rip out
18:27
<bakkot>
i will be so sad if someone is actually depending on that in a serious way
18:28
<bakkot>
(by "that" I mean the use of species in TypedArrays and ArrayBuffers)
18:32
<bakkot>
this definitely seems like a bug, though not one I'm inclined to try to fix
19:01
<shu>
i agree, this has to be possible to rip out
19:01
<shu>
i have to believe