- From: Tab Atkins Jr. <notifications@github.com>
- Date: Fri, 18 Nov 2016 16:35:15 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Message-ID: <heycam/webidl/issues/240/261677698@github.com>
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<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