Create a PR for renaming `FunctionExpression`
aphillips opened this issue · comments
This is an action item from the 2023-12-04 teleconference.
Discussion thread:
See this comment thread for context.
EAO: We currently represent all annotations as “func”, including those that are private-use and reserved. A supported private-use annotation should show up in data model extension, but a reserved annotation or unsupported private-use annotation by definition could not. The names are not especially visible, but they do appear.
APP: We have two kinds of reserved things—statements and annotations. We’re talking here about annotations, which appear in expressions with sigils other than :
. EAO is proposing renaming interfaces in the data model to correspond with the ABNF.
EAO: Clarification, this is RGN’s suggestions.
APP: I suggested later adding private-use annotations separately.
STA: What is reserved again?
APP: Anything we’ve reserved. As opposed to private-use, which is open for implementation innovation.
STA: An implementation that advertises support for private-use would need to expose such information in the data model, but error out for unsupported private-use or reserved annotations.
APP: Back on topic, do we want to rename FunctionExpression to AnnotationExpression?
STA: This may be related to markup, but I don’t object to the change now.
EAO: How do change advocates imagine an implementation supporting private-use to represent instances thereof? What we currently expect is extension of the data model, but if you don’t like that then what shape would you imagine?
APP: If we renamed as suggested, that resolves some of the challenge. That is less true with the FunctionExpression name, because a private-use annotation may not be function-like.
STA: To answer EAO, it should be possible to use a discriminated union type. I like renaming to AnnotationExpression. Is there a reason why that would not be a good idea?
EAO: I think the question is whether supported private use goes in what is now called FunctionExpression, or whether it belongs one level up.
STA: I have strong feelings in favor of a discriminated union, one way or the other.
APP: RGN, want to PR this?
RGN: Sure, I can do a PR.
EAO: What you’re describing might already be there, but please take a look.
STA: Is there a specific use case to help me understand?
EAO: An inline comment.
STA: Do we have a design doc on reservations and private use?
APP: We’re sure spending a lot of time on things no one can use. 🙂