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

"Record" name clashes with spec-internal "Record Specification Type" #96

Open
rricard opened this issue Mar 3, 2020 · 8 comments
Open

Comments

@rricard
Copy link
Member

rricard commented Mar 3, 2020

Whenever we refer to "Record" inside of a spec document, we start referring to 6.2.1 The List and Record Specification Types which is a spec-internal notion.

This is going to be a big issue that will hamper our ability to write accurate spec text.

This yields multiple questions:

  • (asking spec editors) Could we be able to not match "Record" in spec text with the spec-internal Record Specification Type?
  • (asking spec editors) Is it possible to change the spec-internal Record term to something similar?
  • Do we want to consider other terms instead of Record for this proposal?

As far as alternate names goes for this proposal or for renaming the spec-internal Record Specification Type, the only one we found so far is: Struct

Finally as champions, we have a preference with avoiding to rename the proposal's Record to something else.

This issue needs to be closed before stage 3

@rricard rricard added bug Something isn't working question Further information is requested undecided point labels Mar 3, 2020
@rricard
Copy link
Member Author

rricard commented Mar 3, 2020

You can see an example of this issue in PR #95

@ljharb
Copy link
Member

ljharb commented Mar 3, 2020

Related: tc39/ecmarkup#158, tc39/ecmarkup#70

@ljharb
Copy link
Member

ljharb commented Mar 3, 2020

I think even if we resolve the ecmarkup issue, having two kinds of “record” in the spec will be very confusing.

I’d prefer that either the existing type, or this proposal, be renamed, to avoid that.

@bakkot
Copy link
Contributor

bakkot commented Mar 4, 2020

The name of this type in this proposal affects far, far more people than the name of the spec-internal type, so please don't let this conflict affect your choice of naming for this proposal.

I agree that this would require addressing, but if we collectively decide that "record" is the right thing to call the thing in this proposal when ignoring concerns about the spec-internal type, then we'll go with that and make the necessary editorial changes to the spec to accommodate that.

@rricard
Copy link
Member Author

rricard commented Jul 8, 2022

We have discussed with @nicolo-ribaudo & @acutmore and were considering the following potential resolution to this issue:

  • In the Record & Tuple Spec text, we should always refer to "Record Primitive". When discussing the current spec Record, we would continue using "Record"
  • If possible, we should try to prevent ecmarkup to link to spec Records when we are referring to "Record Primitive" and link to the Record Primitive instead

What do you think about this @bakkot ?

@ljharb
Copy link
Member

ljharb commented Jul 8, 2022

Why wouldn’t we want to rename the spec concept, so that the user-exposed concept is using the term it will be widely known by?

@acutmore
Copy link
Collaborator

acutmore commented Jul 8, 2022

One reason we may not want to rename the spec concept is the word Record does appear 769 times in the current 262 spec. Potentially creating too much churn?

@ljharb
Copy link
Member

ljharb commented Jul 8, 2022

It would indeed be a lot of churn, but I think that's far outweighed by the confusion of those who read the spec with the understanding that Record means #{}, and have to learn that Record is actually some fictional spec thing, and "Record Primitive" is the odd way the spec refers to the real one.

@rricard rricard mentioned this issue Jul 25, 2022
25 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants