Re: [heycam/webidl] How to tell the type of "construct a callback function"? (#557)

> When would these types be used?

The standards wouldn't need these types.  I'm thinking of use of these types implementation-wise when we auto-generate JavaScript <=> C++ bindings code.  If we could say these types statically, it would be helpful for the implementation, not for the standards.

So, I agree that the standards don't need my idea.

> The algorithm at https://heycam.github.io/webidl/#construct-a-callback-function takes a pair of callback function and already-typed argument list; the type information is in the list already

Yeah, but already-typed argument list is provided runtime only.  Until [construct](https://heycam.github.io/webidl/#construct-a-callback-function) gets invoked, there is no way to say about the types.

> One could argue that the real type of this thing should be something like callback Whatever = any (); or so...

Is it supposed that the argument types of [invoke](https://heycam.github.io/webidl/#invoke-a-callback-function) and ones of [construct](https://heycam.github.io/webidl/#construct-a-callback-function) are the same?  I first thought that the argument types in `callback Type = R (ARGS...)` are meant only for `invoke`.  Is the argument types are meant for `construct`, too?


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/issues/557#issuecomment-391033870

Received on Tuesday, 22 May 2018 15:27:38 UTC