Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Should we drop private-use annotations? #881

Closed
eemeli opened this issue Sep 9, 2024 · 2 comments · Fixed by #883
Closed

Should we drop private-use annotations? #881

eemeli opened this issue Sep 9, 2024 · 2 comments · Fixed by #883
Labels
Agenda+ Requested for upcoming teleconference question Further information is requested syntax Issues related with MF Syntax

Comments

@eemeli
Copy link
Collaborator

eemeli commented Sep 9, 2024

During today's call, we resolved to drop forwards compatibility from the stability policy, and to remove all reserved syntax.

private-use-annotation was originally added to the spec in #404 at least in part due to us adding reserved-annotation. As we're now removing the latter, we should reconsider whether to remove the former as well.

Can we imagine use cases for private-use annotations that would not be equally well served by function annotations?

@eemeli eemeli added question Further information is requested syntax Issues related with MF Syntax Agenda+ Requested for upcoming teleconference labels Sep 9, 2024
@aphillips
Copy link
Member

There are three mechanisms in play here:

  • reserved statement uses an undefined keyword:

    .foo {does something?} {{}}

  • reserved annotation uses a reserved sigil for some unknown (future) purpose:

    ~foo {{does something}}

  • private-use annotation is implementation defined:

    &implementation-specific {whatever} {{}}

We took away the first one today. I am not sure, but we might be thinking of taking away the second one. This issue asks (obviously) about the third one.

I think there is value in:

  • reserving the sigils that might be used in the future
  • providing an implementation-specific extension mechanism that is constrained in its syntax

However, I could be persuaded to remove both. We do provide namespacing for functions and these are implementation (and even installation) specific. Future keyword addition (i.e. "reserved" statements) would be my preferred mechanism of extending MF2 vs. using additional sigils.

@aphillips
Copy link
Member

Can we imagine use cases for private-use annotations that would not be equally well served by function annotations?

Actually, I got the above wrong. PU annotation is inside of an expression only. So, no, I can't think of a use for this given that we have namespacing. We should dump it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Agenda+ Requested for upcoming teleconference question Further information is requested syntax Issues related with MF Syntax
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants