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

Tutorial: list vs array #113

Open
abentley opened this issue Oct 16, 2022 · 1 comment
Open

Tutorial: list vs array #113

abentley opened this issue Oct 16, 2022 · 1 comment

Comments

@abentley
Copy link

abentley commented Oct 16, 2022

It's not clear to me whether "list" and "array" are intended to have different meanings in the tutorial.

I could imagine that "array" would refer to the actual json datatype, while "list" would be a more general sequence of values. But the description of index expressions and slices use "array" consistently, implying these can only apply to arrays and not lists in general. That doesn't seem desirable.

This pair of sentences suggests that lists and arrays are equivalent

A list projection is only valid for a JSON array. If the value is not a list, then the result of the expression is null.

If lists are a superset of arrays, then this leaves the behaviour of a list projection undefined if the value is a non-array list.

This sentence is also confusing if the index operator can only operate on an array, not a list:

What if you wanted the first element in that list?

If "list" and "array" are intended to be different, some explanation of the difference would be helpful. If they are intended to be the same, I suggest using the JSON term "array" as much as possible. (And this is coming from a pythonista!)

@abentley
Copy link
Author

The spec mixes "list" and "array" seemingly without distinguishing them

An index expression is used to access elements in a list

Given an array of length N, an index of -1 would be equal to a positive index of N - 1, which is the last element of the list

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant