Re: [heycam/webidl] No seemingly consistent Shepherd story (#240)

What I'm saying is just that the word "record" is not one of the IDL definition types.  Those are for things defined *with* IDL, not the concepts *of* IDL.  In particular, the concept of a "record" is *not* an interface that is defined using WebIDL.

(Technically neither are the primitive types, but I don't think it's sufficiently worthwhile for me to create a "primitive" definition type; we can just lump them in with interfaces because they act basically the same for our purposes.)

(If I could do it over again I wouldn't have created separate types for interface/dictionary/other types that you can use in an arglist, as the point of separate types is to carve out separate namespaces, and those really live in the same namespace; you're not allowed to create a dictionary and an interface with the same name.  I might still go ahead and merge them as aliases, but I need to develop some machinery to handle definition aliases first.)

Given the above asides, the fact that "record" isn't an interface is even more obvious - it's 100% okay for me to write `interface record { ... }` in a spec. Nothing breaks at all. Thus, the "record" dfn currently in the WebIDL spec *can't* be `interface` type, by definition - if it was, it would be preventing me from defining my interface.  It's just a `dfn` type.

Same with "record type" - it's a `dfn`.

Nobody's trying to write `<dfn>record&lt;Foo></dfn>` yet; if they do we'll address that, but for now it's not a relevant part of the topic.

-- 
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/240#issuecomment-261677698

Received on Saturday, 19 November 2016 00:35:47 UTC