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

cuelang.org: add a page about the phasing out of list arithmetic #178

Closed
mvdan opened this issue Aug 30, 2024 · 6 comments
Closed

cuelang.org: add a page about the phasing out of list arithmetic #178

mvdan opened this issue Aug 30, 2024 · 6 comments
Assignees

Comments

@mvdan
Copy link
Member

mvdan commented Aug 30, 2024

This page would give users information about our removal of arithmetic on lists from the evaluator. It should include:

  • A summary of why it was still supported; it was a legacy feature that hadn't been part of the language spec for years.
  • Which CUE version dropped support for this (v0.11.0).
  • An example of addition and multiplication of lists, and what the new examples look like with list APIs.
  • How to run cue fix to resolve most instances of these in your code.

Then we should link to this page from the evaluator's error message (cc @cuematthew) and we should also link to the page from the release notes announcing this change.

Where should this page go within the website? My intuition is some sort of "Language changes" section under "References", where we would have a collection of these pages, from newest to oldest, so that they can be used as future reference, and be found by googling as well.

@jpluscplusm jpluscplusm transferred this issue from cue-lang/cue Aug 30, 2024
@jpluscplusm
Copy link
Collaborator

It should include: [...]

I noticed some mention of cuego in a recent CL, and the fact that such tags can't be automatically fixed. What's the messaging we could include on the page for folks using tags and cuego?

Where should this page go within the website? My intuition is some sort of "Language changes" section under "References", where we would have a collection of these pages, from newest to oldest, so that they can be used as future reference, and be found by googling as well.

I think establishing such a "Language changes" subsection inside References would be a useful thing to do, but initially I suggest that we place it inside the /docs/concept/faq/ hierarchy that already exists. The content that can live under .../concept/ has a voice, tone and lead time that's more compatible with getting this done more quickly. We can do some thinking about the more formal References subsection so that's available the next time we want to communicate a kinda-sorta-breaking change like this, and we can backfill it with a modified version of the FAQ that gets written for this issue.

we should link to this page from the evaluator's error message (cc @cuematthew) and we should also link to the page from the release notes announcing this change.

I would suggest choosing a suitable and never-going-to-disappear redirector short link path under https://cuelang.org/s/ for both these purposes. It can link to the FAQ for now, and have its target modified in the future as needed. How about /s/removing-list-arithmetic or /s/list-arithmetic?

@jpluscplusm jpluscplusm self-assigned this Aug 30, 2024
@mvdan
Copy link
Member Author

mvdan commented Aug 30, 2024

I noticed some mention of cuego in a recent CL, and the fact that such tags can't be automatically fixed. What's the messaging we could include on the page for folks using tags and cuego?

I suggest we don't say anythig about it. We can react if any users turn up. My suspicion is that there are nearly zero users using list arithmetic in cuego tags.

initially I suggest that we place it inside the /docs/concept/faq/ hierarchy that already exists

Sounds good to me. We definitely want to add this quickly and not bikeshed too much.

How about /s/removing-list-arithmetic or /s/list-arithmetic?

That sounds like a good idea as well. How about something that hints a bit more towards a breaking change in a particular version, like /s/v0.11-list-arithmetic?

Go have started doing something similar (and I think this is where Paul and I got the idea from): https://go-review.googlesource.com/c/go/+/497715

They have gone with /e/CamelCaseName for various types of typechecking errors. I think it makes sense to use a different short prefix too, like /e/, for the sake of not mixing the namespace - so I would suggest /e/v0.11-list-arithmetic. I don't think we need to copy the CamelCasing; I personally don't think it fits very well with readable URLs.

@jpluscplusm
Copy link
Collaborator

I've opened hofstadter-io/cuetorials.com#83 to remove mention of them from the obvious location on cuetorials.com. I've not exhaustively checked through the rest of the site looking for other uses.

cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Aug 30, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":3,"ref":"refs/changes/57/1200357/3","targetBranch":"master"}
@jpluscplusm
Copy link
Collaborator

I've started a page containing these questions in https://cuelang.org/cl/1200357. Let me know if you feel there are others that need to be included, or more useful wording for these:

  • What’s being removed, and from where?
  • Why were list arithmetic operators supported until now? << I'm not sure about this one. Is it even needed?
  • What’s the replacement for list arithmetic operators?
  • Which version of CUE removes list arithmetic operators?
  • Am I affected?
  • I am affected! How can I fix my CUE?

cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Aug 30, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":4,"ref":"refs/changes/57/1200357/4","targetBranch":"master"}
@cuematthew
Copy link

FWIW, that CL reads nicely to me so far.

cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 2, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

This guide contains several FIXMEs, which are a product of it being
written before the first 0.11 pre-release is available. They must be
updated and removed before publishing.

DO NOT SUBMIT

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":6,"ref":"refs/changes/57/1200357/6","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 2, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

This guide contains several FIXMEs, which are a product of it being
written before the first 0.11 pre-release is available. They must be
updated and removed before publishing. Several commands are displayed on
the preview's rendered page with `missing.file.cue` arguments, in order
to prompt a failure where the current cmd/cue tip doesn't yet fail. They
must also be updated and removed; probably when the version of cmd/cue
installed earlier in this stack includes the as-yet-unmerged
https://review.gerrithub.io/c/cue-lang/cue/+/1200221.

DO NOT SUBMIT

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":7,"ref":"refs/changes/57/1200357/7","targetBranch":"master"}
@myitcv myitcv moved this to v0.11.0-alpha.1 in Release v0.11 Sep 3, 2024
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 3, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

This guide contains several FIXMEs, which are a product of it being
written before the first 0.11 pre-release is available. They must be
updated and removed before publishing. Several commands are displayed on
the preview's rendered page with `missing.file.cue` arguments, in order
to prompt a failure where the current cmd/cue tip doesn't yet fail. They
must also be updated and removed; probably when the version of cmd/cue
installed earlier in this stack includes the as-yet-unmerged
https://review.gerrithub.io/c/cue-lang/cue/+/1200221.

DO NOT SUBMIT

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":9,"ref":"refs/changes/57/1200357/9","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 3, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target so that
cmd/cue can succinctly link to the FAQ from error messages introduced in
https://cuelang.org/cl/1200221.

This guide contains several FIXMEs, which are a product of it being
written before the first 0.11 pre-release is available. They must be
updated and removed before publishing. Several commands are displayed on
the preview's rendered page with `missing.file.cue` arguments, in order
to prompt a failure where the current cmd/cue tip doesn't yet fail. They
must also be updated and removed; probably when the version of cmd/cue
installed earlier in this stack includes the as-yet-unmerged
https://review.gerrithub.io/c/cue-lang/cue/+/1200221.

DO NOT SUBMIT

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":10,"ref":"refs/changes/57/1200357/10","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 3, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target so that
cmd/cue can succinctly link to the FAQ from error messages introduced in
https://cuelang.org/cl/1200221.

This guide contains several FIXMEs, which are a product of it being
written before the first 0.11 pre-release is available. They must be
updated and removed before publishing. Several commands are displayed on
the preview's rendered page with `missing.file.cue` arguments, in order
to prompt a failure where the current cmd/cue tip doesn't yet fail. They
must also be updated and removed; probably when the version of cmd/cue
installed earlier in this stack includes the as-yet-unmerged
https://review.gerrithub.io/c/cue-lang/cue/+/1200221.

DO NOT SUBMIT

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":11,"ref":"refs/changes/57/1200357/11","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 4, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target so that
cmd/cue can succinctly link to the FAQ from error messages introduced in
https://cuelang.org/cl/1200221.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Preview-Path: /e/v0.11-list-arithmetic
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":13,"ref":"refs/changes/57/1200357/13","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 4, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target so that
cmd/cue can succinctly link to the FAQ from error messages introduced in
https://cuelang.org/cl/1200221.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Preview-Path: /e/v0.11-list-arithmetic
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":14,"ref":"refs/changes/57/1200357/14","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 4, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target so that
cmd/cue can succinctly link to the FAQ from error messages introduced in
https://cuelang.org/cl/1200221.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Preview-Path: /e/v0.11-list-arithmetic
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":15,"ref":"refs/changes/57/1200357/15","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org-trybot that referenced this issue Sep 4, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target to
point at the FAQ so that cmd/cue can succinctly link from error messages
introduced in https://cuelang.org/cl/1200221.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Preview-Path: /e/v0.11-list-arithmetic
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Dispatch-Trailer: {"type":"trybot","CL":1200357,"patchset":16,"ref":"refs/changes/57/1200357/16","targetBranch":"master"}
cueckoo pushed a commit to cue-lang/cuelang.org that referenced this issue Sep 4, 2024
This adds an FAQ guide that explains the removal of list arithmetic
operators ("+" and "*") from CUE v0.11 and later. It requires the tip of
cmd/cue, upgraded in an earlier commit, in order to access a version of
`cue fix` that understands how to update the operators.

It also updates the /e/v0.11-list-arithmetic redirector's target to
point at the FAQ so that cmd/cue can succinctly link from error messages
introduced in https://cuelang.org/cl/1200221.

Closes cue-lang/docs-and-content#178

Preview-Path: /docs/concept/faq/removing-list-arithmetic-operators-v0.11/
Preview-Path: /e/v0.11-list-arithmetic
Signed-off-by: Jonathan Matthews <[email protected]>
Change-Id: I8d50c273ccedb7cf6ca5295917032d5aa822b413
Reviewed-on: https://review.gerrithub.io/c/cue-lang/cuelang.org/+/1200357
Reviewed-by: Daniel Martí <[email protected]>
TryBot-Result: CUEcueckoo <[email protected]>
@jpluscplusm
Copy link
Collaborator

jpluscplusm commented Sep 4, 2024

Closed via cue-lang/cuelang.org@1db4043

@jpluscplusm jpluscplusm moved this from Backlog to Done in Docs and Content Roadmap Sep 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Status: v0.11.0-alpha.1
Development

No branches or pull requests

3 participants